1

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

4

2 に答える 2

1

セッション レプリケーション (少なくとも現在) は、RDS によって拒否されません。あなたの bucardo ユーザーには、値を設定するための十分な権限がありません。Bucardo がデータベースへの接続に使用するユーザーを "rds_superuser" ロールのメンバーにすることで、これが機能します。

たとえば、Bucardo ユーザーの名前が「bucardo」の場合、次のコマンドを実行してこれを設定できます。

GRANT rds_superuser TO bucardo;

「CREATEROLE」権限を持つユーザーとして接続する必要があります。

于 2016-11-01T17:11:04.557 に答える
0

bucardo は RDS からのエクスポートに使用され、londiste は RDS へのインポートに使用されます。このリンクは、londaste の構成に役立つ場合があります。

于 2015-06-06T15:28:02.077 に答える