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.
Changelog from 1.5
- fix wrong table name when parsing CREATE TABLE schema_name.table_name
- fix missing parse for numeric_scale in sql_utils
- lock only the affected tables when running sync_tables
- improve performance for the replay plpgsql function
- rename change lag to read lag and add replay lag in the the show_status output
- add TravisCI configuration to the source tree
- add set_config for initial config dir creation (needed by the CI tests)
- add a regexp match to exclude the keywords in the parse alter table
- add FOREIGN KEY to the excluded keyworkds when parsing alter table
- fix issue #22 add KEY to the excluded keyworkds when parsing alter table