|
Postgresql 9.4 логическая репликация через расширение pglogical
|
|||
---|---|---|---|
#18+
Всех приветствую! Hello! Есть два сервера с Postgresql 9.4 на борту. На обоих серверах установлено расширение pglogical_1.2.2 из исходников (все другие версии расширения не работают в указанной среде). На сервере-исходнике были выполнены следующие команды: CREATE EXTENSION pglogical_origin; CREATE EXTENSION pglogical; SELECT pglogical.create_node( node_name := 'provider2', dsn := 'host=ip_address port=5432 dbname=wb2' ); SELECT pglogical.replication_set_add_all_tables('default', ARRAY['public']); select pglogical.create_replication_set(set_name := 'replication_all'); select pglogical.replication_set_add_all_sequences('default', ARRAY['public'], true); На сервере-подписчике: CREATE EXTENSION pglogical_origin; CREATE EXTENSION pglogical; SELECT pglogical.create_node(node_name := 'subscriber1',dsn := 'host=ip_address2 port=5432 dbname=wb2'); SELECT pglogical.create_subscription( subscription_name := 'subscription2',provider_dsn := 'host=ip_address port=5432 dbname=db_name', synchronize_structure := true, synchronize_data := true); Через некоторое время все таблицы были среплицированы на сервере-подписчике. Операция UPDATE на случайной таблице и строке столбца сразу же реплицируется на второй сервер. Проблема в том, что при добавлении нового столбца в таблицу, этот столбец не реплицируется. У кого есть опыт в миграции постгреса с использованием данного расширения, это фича такая что столбцы новые не реплицируются или я что то пропустил в настройках серверов? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2020, 21:36 |
|
Postgresql 9.4 логическая репликация через расширение pglogical
|
|||
---|---|---|---|
#18+
Growlert, так и должно быть структура таблицы фиксируется на момент создания подписки. ddl и их последствия (в виде новых колонок) не реплицируются. ps: не очень ясно зачем вам для миграции логическая репликация когда миграцию базы на новый сервер через физическую репликацию обычно делают. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2020, 21:57 |
|
Postgresql 9.4 логическая репликация через расширение pglogical
|
|||
---|---|---|---|
#18+
Спасибо за пояснения. Я сейчас просто тестирую данное расширение, следующий этап - репликация между версиями постгреса 9.4 и 11 (или 12). А сам постгрес специальной сборки от 1С, поэтому пришлось из исходников ставить pglogical (готовый пакет не устанавливается). ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2020, 22:13 |
|
Postgresql 9.4 логическая репликация через расширение pglogical
|
|||
---|---|---|---|
#18+
Growlert Спасибо за пояснения. Я сейчас просто тестирую данное расширение, следующий этап - репликация между версиями постгреса 9.4 и 11 (или 12). А сам постгрес специальной сборки от 1С, поэтому пришлось из исходников ставить pglogical (готовый пакет не устанавливается). Я тоже тестировал миграцию c 9.5 на 12. Совет: после репликации данных принудительно реплицируйте все сиквенсы и только потом переключайте приложения. Сиквенсы не реплицируются в реальном времени. И проверьте работу триггеров под нагрузкой при репликации. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2020, 12:55 |
|
Postgresql 9.4 логическая репликация через расширение pglogical
|
|||
---|---|---|---|
#18+
Создание скрипта синхронизации сиквенсов. echo " SELECT STRING_AGG(FORMAT('select pglogical.synchronize_sequence (''%s'');', A.sequence_name), E'\n') AS SCRIPT FROM ( SELECT FORMAT('%s', sequence_name) AS sequence_name FROM information_schema.sequences ORDER BY sequence_name ) AS A; " >> /tmp/sequence_resynk.sql psql -U postgres DB_NAME -f /tmp/sequence_resynk.sql >> /tmp/sequence_DB_NAME.sql ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2020, 13:00 |
|
|
start [/forum/topic.php?fid=53&msg=39996040&tid=1994447]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
188ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 319ms |
total: | 597ms |
0 / 0 |