Postgresql раб для Mysql Master. Возможный? - PullRequest
2 голосов
/ 15 марта 2010

Мне нужно сделать несколько тестов для потенциальной миграции с Mysql на PostgreSql. Будет проще проверить, можно ли использовать Postgre в качестве ведомого для моего мастера MySQL.

Возможно ли это?

Заранее спасибо

Ответы [ 4 ]

3 голосов
/ 15 марта 2010

номер

Вы можете создать что-то самостоятельно, используя триггеры и внешний процесс для отправки данных, но это довольно сложно, поскольку mysql имеет довольно ограниченную поддержку триггеров.

Для вашего сценария вам, вероятно, будет лучше делать периодические дампы данных. Лучшим способом часто является миграция схемы вручную, а затем отправка данных в формате CSV. «Mysqldump --compatible» обычно работает недостаточно хорошо.

1 голос
/ 21 апреля 2015

Это возможно. Вроде, как бы, что-то вроде. Может быть.

Одним из решений, которое предположительно поддерживает миграцию MySQL -> PostgreSQL, является открытый источник Continuent Tungsten Replicator .

Вы можете увидеть некоторые инструкции о том, как реализовать эту «гетерогенную репликацию» здесь (хотя предложенный ими метод, использующий Tungsten-Installer, устарел, и вам, возможно, лучше использовать tpm, например так ).

Дело в том, что, хотя есть множество из ресурсов , указывающих, что вольфрам действительно использовал это для поддержки, официально кажется, что они больше не делают . Это означает, что если вы попытаетесь использовать самую последнюю версию Tungsten Replicator (3. *), вы быстро обнаружите, что некоторые файлы, необходимые для Postgres, отсутствуют.

Если, с другой стороны, вы пытаетесь загрузить более старую версию, скажем, 2.2.1, ни одна из этих ошибок не появляется, и все файлы, похоже, присутствуют, что оставляет место для оптимизма.

Лично я должен признать, что я не смог заставить работать 2.2.1, но это, вероятно, больше связано с моим отсутствием опыта использования Tungsten Replicator в целом, а не с поддержкой Postgres. Кроме того, в моем случае элемент реального времени не был так важен, поэтому мы просто завершили работу над заданием cron с pgloader .

Итак, если вам необходимо иметь возможность репликации из MySQL в Postgres в реальном времени, я бы рекомендовал по крайней мере попробовать Tungsten Replicator, прежде чем приступить к реализации собственного решения. Однако, если в реальном времени не является абсолютным требованием, возможно, есть более простые способы.

(Также, возможно, вы захотите взглянуть на SymmetricDS , который утверждает, что делает нечто подобное, хотя я лично не рассматривал это.)

0 голосов
/ 21 апреля 2015

SymmetricDS поддерживает репликацию MySQL в Postgres. Доступна версия с открытым исходным кодом, а также профессиональная версия с веб-интерфейсом.

0 голосов
/ 15 марта 2010

Я так не думаю, репликация "главный-подчиненный" возможна только между одними и теми же базами данных.

Вы можете настроить MySQL, используя PostgreSQL-SQL-режим , а также подготовить дамп для импорта в Postgresql, используя - совместимый в mysqldump.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...