pg_chameleon replica system

pg_chameleon is a MySQL to PostgreSQL replica system written in Python 3. The tool can connect to the mysql replication protocol and replicate the data changes in PostgreSQL. Whether the user needs to setup a permanent replica between MySQL and PostgreSQL or perform an engine migration, pg_chamaleon is the perfect tool for the job.

Release announcement 2.0.12

on 11 December 2019

This maintenance release fixes the issue #96 where the replica initialisation failed on MySQL 8 because of the wrong field names pulled out from the information_schema. Thanks to daniel-qcode for contributing with his fix. The configuration and SQL files are now moved inside into the directory pg_chameleon. This change simplifies the setup.py file and allow pg_chameleon to be built as source and wheel package. As python 3.4 has now reached its end-of-life and has been retired the minimum requirement for pg_chameleon has been updated to Python 3.

Continue reading

Release announcement 2.0.11

on 25 October 2019

This maintenance release fixes few things. As reported in issue #95 the yaml files were not completely valid. Thanks to rebtoor which fixed them. clifff made a pull request to have the start_replica running in foreground when log_file set to stdout. Previously the process remained in background with the log set to stdout. As Travis seems to break down constantly the CI configuration is disabled until a fix or a different CI is found .

Continue reading

Release announcement 2.0.10

on 1 September 2018

This maintenance release fixes a regression caused by the new replay function with PostgreSQL 10. The unnested primary key was put in cartesian product with the json elements generating NULL identifiers which made the subsequent format function to fail. This release adds a workaround for decoding the keys in the mysql’s json fields. This allows the sytem to replicate the json data type as well. The command enable_replica fixes a race condition when the maintenance flag is not returned to false (e.

Continue reading

Release announcement 2.0.9

on 19 August 2018

This maintenance release fixes a wrong check for the next auto maintenance run if the maintenance wasn’t run before. Previously when changing the value of auto_maintenance from disabled to an interval, the process didn’t run the automatic maintenance unless a manual maintenance was executed before. This release adds improvements on the replay function’s speed. The new version is now replaying the data without accessing the parent log partition and the decoding logic has been simplified.

Continue reading