[Bucardo-general] Failed to add sync: DBD::Pg::st execute failed: ERROR: DBD::Pg::db do failed
Joel
joel.ng at versafleet.co
Fri Jan 31 06:15:08 UTC 2020
Hi David,
Removing the table worked! Fortunately that table is just a PostGIS
extension and there's probably no syncing needed.
Also, the command works well:
vf_production=> BEGIN; SET session_replication_role = replica;
BEGIN
SET
Thank you, this is good enough. Everything seems to be working now.
On 31-Jan-20 1:06 AM, David Christensen wrote:
> Hi Joel,
>
> Does this error show up if you exclude this specific table from the sync? Can you log in with the indicated rds_superuser role and verify that you can issue:
>
> BEGIN; SET session_replication_role = replica;
>
> and it sticks?
> --
> David Christensen
> Senior Software and Database Engineer
> End Point Corporation
> david at endpoint.com
> 785-727-1171
>
>
>> On Jan 30, 2020, at 1:55 AM, Joel Ng <joel.ng at versafleet.co> wrote:
>>
>> Hello,
>>
>> I am trying to set up multi-master replication on AWS RDS using this guide: https://medium.com/preply-engineering/postgres-multimaster-34f2446d5e14
>>
>> So far it works well (with some pg_hba.conf changes), but I'm stuck at the `bucardo add sync mydb_sync herd=sample_herd dbs=mydb_servers_group` step.
>>
>> I get this error:
>>
>> WARNING: Issuing rollback() due to DESTROY without explicit disconnect() of DBD::Pg::db handle dbname=vf_production;host=vf-production-test-copy.redacted.ap-southeast-1.rds.amazonaws.com;port=5432 at line 29.
>> CONTEXT: PL/Perl function "validate_sync"
>> SQL statement "SELECT validate_sync('mydb_sync')"
>> PL/Perl function "validate_sync"
>> Failed to add sync: DBD::Pg::st execute failed: ERROR: DBD::Pg::db do failed: ERROR: permission denied for relation spatial_ref_sys at line 126. at line 30.
>> CONTEXT: PL/Perl function "validate_sync" at /usr/bin/bucardo line 4612.
>>
>> From Googling around it seems that all users in the bucardo.db table needs to be superusers. I'm unsure how to check it, are these the correct users to check?:
>>
>> bucardo=# \du
>> List of roles
>> Role name | Attributes | Member of
>> ---------------+------------------------------------------------------------+-----------
>> bucardo | Superuser | {}
>> postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
>>
>> bucardo=# SELECT * FROM db;
>> -[ RECORD 1 ]--------+------------------------------------------------------------------------
>> name | source_db
>> dbtype | postgres
>> dbhost | vf-production-test-copy.redacted.ap-southeast-1.rds.amazonaws.com
>> dbport | 5432
>> dbname | vf_production
>> dbuser | vf_db
>> dbpass | redacted
>> dbconn |
>> dbservice |
>> pgpass |
>> status | active
>> server_side_prepares | t
>> makedelta | f
>> cdate | 2020-01-30 05:41:21.796437+00
>> -[ RECORD 2 ]--------+------------------------------------------------------------------------
>> name | dest_db
>> dbtype | postgres
>> dbhost | vf-production-test-copy-2.redacted.ap-southeast-1.rds.amazonaws.com
>> dbport | 5432
>> dbname | vf_production
>> dbuser | vf_db
>> dbpass | redacted
>> dbconn |
>> dbservice |
>> pgpass |
>> status | active
>> server_side_prepares | t
>> makedelta | f
>> cdate | 2020-01-30 06:11:16.029221+00
>>
>> vf_db is an rds_superuser in the RDS.
>>
>> I'm not sure what else I can check or do, why can't I sync?
>>
>> Thank you.
>>
>> _______________________________________________
>> Bucardo-general mailing list
>> Bucardo-general at bucardo.org
>> https://bucardo.org/mailman/listinfo/bucardo-general
More information about the Bucardo-general
mailing list