postgresql - postgres master master delta 通过 bucardo 复制到 RDS

标签 postgresql replication 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 拒绝了 session 复制

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

最佳答案

RDS 不会拒绝 session 复制(至少现在是这样)。您的 bucardo 用户只是缺乏足够的权限来设置该值。我们通过让 Bucardo 用来连接数据库的用户成为“rds_superuser”角色的成员来实现这一点。

例如,如果您的 Bucardo 用户名为“bucardo”,您可以通过运行以下命令进行设置:

GRANT rds_superuser TO bucardo;

您需要以具有“CREATEROLE”权限的用户身份连接。

关于postgresql - postgres master master delta 通过 bucardo 复制到 RDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30641992/

相关文章:

tomcat - 在 2 个 tomcat 实例之间复制一个 java 对象(不是 session 的一部分)

ios - iOS中的GCDWeb服务器崩溃问题

kubernetes - Kubernetes主离线场景

sql - 计算时间范围内的分组时间间隔

python - 为 Django 网站记录在线用户的快照(postgresql 后端,nginx 网络服务器)

postgresql - 将常量整数分配给现有的新插入值

postgresql - 错误设置值 : value 0 is out of bounds for sequence "seq" (1. .9223372036854775807)

Mysql Slave 不更新

postgresql slony-i 复制设置

xcode - iPad 从详细 View 刷新主数据。