pg_chameleon MySQL to PostgreSQL replica¶
pg_chameleon is a replication tool from MySQL to PostgreSQL developed in Python 3.5+ The system use the library mysql-replication to pull the row images from MySQL which are transformed into a jsonb object. A pl/pgsql 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.
pg_chameleon can pull the data from a cascading replica when the MySQL slave is configured with log-slave-updates.
Documentation available at pgchameleon.org
FEATURES¶
Replicates multiple MySQL schemas within the same MySQL cluster into a target PostgreSQL database. The source and target schema names can be different.
Conservative approach to the replica. Tables which generate errors are automatically excluded from the replica.
Daemonised init_replica,refresh_schema,sync_tables processes.
Daemonised replica process with two separated subprocess, one for the read and one for the replay.
Soft replica initialisation. The tables are locked when needed and stored with their log coordinates. The replica damon will put the database in a consistent status gradually.
Rollbar integration for a simpler error detection and alerting.
CHANGELOG¶
-
- 2.0.19 - 25 March 2023
- 2.0.18 - 31 March 2022
- 2.0.17 - 30 January 2022
- 2.0.16 - 23 September 2020
- 2.0.15 - 20 September 2020
- 2.0.14 - 26 July 2020
- 2.0.13 - 05 July 2020
- 2.0.12 - 11 Dec 2019
- 2.0.11 - 25 Oct 2019
- 2.0.10 - 01 Sep 2018
- 2.0.9 - 19 Aug 2018
- 2.0.8 - 14 Jul 2018
- 2.0.7 - 19 May 2018
- 2.0.6 - 29 April 2018
- 2.0.5 - 25 March 2018
- 2.0.4 - 04 March 2018
- 2.0.3 - 11 February 2018
- 2.0.2 - 21 January 2018
- 2.0.1 - 14 January 2018
- 2.0.0 - 01 January 2018
- 2.0.0.rc1 - 24 December 2017
- 2.0.0.beta1 - 10 December 2017
- 2.0.0.alpha3 - 03 December 2017
- 2.0.0.alpha2 - 18 November 2017
- 2.0.0.alpha1 - 11 November 2017