Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
06.09.2020, 21:36
|
|||
|---|---|---|---|
|
|||
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:57
|
|||
|---|---|---|---|
|
|||
Postgresql 9.4 логическая репликация через расширение pglogical |
|||
|
#18+
Growlert, так и должно быть структура таблицы фиксируется на момент создания подписки. ddl и их последствия (в виде новых колонок) не реплицируются. ps: не очень ясно зачем вам для миграции логическая репликация когда миграцию базы на новый сервер через физическую репликацию обычно делают. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.09.2020, 22:13
|
|||
|---|---|---|---|
|
|||
Postgresql 9.4 логическая репликация через расширение pglogical |
|||
|
#18+
Спасибо за пояснения. Я сейчас просто тестирую данное расширение, следующий этап - репликация между версиями постгреса 9.4 и 11 (или 12). А сам постгрес специальной сборки от 1С, поэтому пришлось из исходников ставить pglogical (готовый пакет не устанавливается). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.09.2020, 12:55
|
|||
|---|---|---|---|
|
|||
Postgresql 9.4 логическая репликация через расширение pglogical |
|||
|
#18+
Growlert Спасибо за пояснения. Я сейчас просто тестирую данное расширение, следующий этап - репликация между версиями постгреса 9.4 и 11 (или 12). А сам постгрес специальной сборки от 1С, поэтому пришлось из исходников ставить pglogical (готовый пакет не устанавливается). Я тоже тестировал миграцию c 9.5 на 12. Совет: после репликации данных принудительно реплицируйте все сиквенсы и только потом переключайте приложения. Сиквенсы не реплицируются в реальном времени. И проверьте работу триггеров под нагрузкой при репликации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.09.2020, 13:00
|
|||
|---|---|---|---|
|
|||
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=1994447]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
81ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 175ms |

| 0 / 0 |
