Postgres master master дельта-репликация в RDS через bucardo

Я использую Bucardo-5.3.1 и пытаюсь воспроизвести свою локальную базу данных postgreSQL. Я создал репликацию мастер-мастер с помощью RDS postgreSQL. Я могу успешно реплицировать, если база данных RDS пуста, а pg_dump выполнен, проблема возникает, когда я хочу выполнить дельта-репликацию. Когда я пытаюсь pg_dump -U $PGSUPERUSER -h $PGHOST --data-only -N bucardo $PGDATABASE | PGOPTIONS='-c session_replication_role=replica' psql -U $BUCARDOUSER -h $PGHOST2 -d $PGDATABASE

Я получаю следующую ошибку, потому что репликация сеанса запрещена RDS

psql: FATAL:  permission denied to set parameter "session_replication_role"

Я также пытался использовать команду ниже

bucardo update sync mysync1 onetimecopy=2

Я также пытался использовать pg_restore, но он все равно дает ERROR: duplicate key value violates unique constraint


person Krupal Solanki    schedule 04.06.2015    source источник


Ответы (2)


Репликация сеанса (по крайней мере сейчас) не запрещена RDS. У вашего пользователя bucardo просто нет достаточных привилегий для установки значения. Мы делаем это, делая пользователя, которого Bucardo использует для подключения к базе данных, членом роли «rds_superuser».

Например, если вашего пользователя Bucardo зовут «bucardo», вы можете установить это, запустив:

GRANT rds_superuser TO bucardo;

Вам нужно будет подключиться как пользователь с привилегией "CREATEROLE".

person Chris Hall    schedule 01.11.2016

bucardo используется для экспорта из RDS, а londiste — для импорта в RDS. Эта ссылка может помочь настроить londiste.

person Krupal Solanki    schedule 06.06.2015