【问题标题】:postgres master master delta replication to RDS via bucardopostgres master master delta 通过 bucardo 复制到 RDS
【发布时间】:2015-06-04 10:55:35
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: postgresql replication master rds bucardo


    【解决方案1】:

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

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

    GRANT rds_superuser TO bucardo;
    

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

    【讨论】:

      【解决方案2】:

      bucardo 用于从 RDS 导出,londist 用于导入到 RDS。 This link 可能有助于配置 londist。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-13
        • 1970-01-01
        • 2019-02-18
        • 2011-06-06
        • 1970-01-01
        • 2016-06-16
        相关资源
        最近更新 更多