我正在使用Bucardo-5.3.1并尝试复制我的本地postgreSQL数据库。我已经使用RDS postgreSQL创建了一个主-主复制。如果RDS db为空并且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
发布于 2016-11-02 01:11:05
RDS没有拒绝会话复制(至少现在是这样)。您的bucardo用户只是缺少足够的权限来设置值。我们通过将用于连接到数据库的用户Bucardo设置为"rds_superuser“角色的成员,从而实现了这一点。
例如,如果您的Bucardo用户名为"bucardo",则可以通过运行以下命令进行设置:
GRANT rds_superuser TO bucardo;您需要以具有"CREATEROLE“权限的用户身份进行连接。
发布于 2015-06-06 23:28:02
bucardo用于从RDS导出,londiste用于导入到RDS。This link可能有助于配置londiste。
https://stackoverflow.com/questions/30641992
复制相似问题