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.

已提問 5 年前檢視次數 583 次
1 個回答
0
已接受的答案

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

AWS
已回答 5 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南