Postgres Логическая репликация, почему не идёт репликация?

Здравствуйте коллеги есть база 1с размером 17 Гб. Настраиваю логическую репликацию этой базы на другой кластер.
192.*.*161 - мастер (Установлен Postgresql 16)
192.*.*.132 - сервер куда нужно реплицировать базу (Установлен Postgresql 16)
На мастере ( база живёт на нём) в postgresql.conf wal_level="logical".
pg_hba.conf -
host db_name postgres 192.*.*.132/32 trust

Рестарт мастера после изменения конф файлов произвёл
На мастере выполняю

pg_dumpall --database=postgres --host=192.168.250.161 --no-password --globals-only --no-privileges | pg_dump --dbname "1s_copy" --host=192.168.250.161 --no-password --create --schema-only | psql

Затем подключаюсь psql к базе и делаю публикацию

CREATE PUBLICATION 1s_copy FOR ALL TABLES;

После через pgadmin цепляюсь к слейву 192.*.*.132 , вижу что создалась нужная мне база 1s_copy
Цепляюсь к ней через psql и создаю подписку

CREATE SUBSCRIPTION db_1s_copy CONNECTION 'host=192.*.*.161 dbname=1s_copy' PUBLICATION "1s_copy";

получаю ошибку
65c4caaaaba6f312017410.jpeg
ERROR: отношение "public._refsinf16672" не существует

ОШИБКА: отношение "public._refsinf16672" не существует
SQL state: 42P01

Подскажите что делаю не так ?
  • Вопрос задан
  • 174 просмотра
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
The schema definitions are not replicated, and the published tables must exist on the subscriber.

https://www.postgresql.org/docs/current/logical-re...
По-моему, написано однозначно и не допускает вариантов прочтения. Нет?

| psql

иначе говоря, где вы создали таблицы и где потом пытаетесь create subscription делать. Это явно два разных места.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы