github the4thdoctor/pg_chameleon v1.4

latest releases: v2.0.19, v2.0.18, v2.0.17...
7 years ago

Pg_chameleon is a replication tool from MySQL to PostgreSQL developed in Python 2.7 and Python 3.3+
The system relies on the mysql-replication library to pull the changes from MySQL and covert them into a jsonb object.
A plpgsql function decodes the jsonb and replays the changes into the PostgreSQL database.

The tool requires an initial replica setup which pulls the data from MySQL in read only mode.
This is done by the tool running FLUSH TABLE WITH READ LOCK; .

The tool can pull the data from a cascading replica when the MySQL slave is configured with log-slave-updates.

sync_replica replaced by sync_tables

The command sync_replica is now replaced by sync_tables as this new name better reflects the concept behind the process.
The command requires the option --table followed by a comma separated list of table names.

If the specified table is not present in the origin's schema the table is silently skipped.
When a table is synchronised the existing copy in the target database is dropped and recreated from scratch.
In order to get the table in consistent state the log coordinates are saved in the the t_replica_tables.
The replica process will ignore the table until the log position reaches the table's snapsot position,
ensuring a consistent state for the replica target.

Changelog from 1.3.1

  • add varbinary to the type conversion dictionary
  • fix wrong quoting when key field is surrounded by backtick `
  • add geometry to the supported types
  • add varbinary and geometry to hexify in config-example.yaml
  • add INDEX and UNIQUE to excluded words when parsing alter table. this prevents the ddl replica to crash when the alter table adds an index
  • Fix for Issue #4 add generic exception when fallback on inserts to trap unexpected data not handled by psycopg2
  • Replace sync_replica with sync_tables. Check the release notes for implementation.
  • Add --version to display the program version.
  • Move documentation on pgchameleon.org

Don't miss a new pg_chameleon release

NewReleases is sending notifications on new releases.