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.1
- fix deadlock when replicating from multiple sources:
- add source id when cleaning batches
- add missing marker when outputting failed mysql query in copy_tabl_data
- fix wrong decimal handling in build_tab_ddl
- add bool to the data dictionary
- exclude ddl when coming from schemas different from the one replicated
- fix wrong quoting when capturing primary key inline
- add error handling in read_replica
- move the version view management in the pg_engine code