By using AWS re:Post, you agree to the Terms of Use

RDS Postgres Logical replication access to essential table denied

0
postgres=> \du postgres
                        List of roles
 Role name |          Attributes           |    Member of    
-----------+-------------------------------+-----------------
 postgres  | Create role, Create DB       +| {rds_superuser}
           | Password valid until infinity | 

postgres=> select * from pg_replication_origin_status;
ERROR:  permission denied for relation pg_replication_origin_status
postgres=> 

This table is essential to tracking progress of logical replication. Without it, there is not clear way to track if the LSN of the local and remote ends of the replication slot are in sync. The user in the example is a member of rds_superuser.

https://www.postgresql.org/docs/10/replication-origins.html

Is there a particular reason that this system table is not accessible or was this just a mistake in the implementation.

asked 4 years ago68 views
1 Answer
0
Accepted Answer

Can you use the function call instead of the view?

postgres=> select * from pg_show_replication_origin_status();
 local_id | external_id | remote_lsn | local_lsn 
----------+-------------+------------+-----------
(0 rows)

Thanks.
Regards,
Jignesh

answered 4 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions