AWS RDS Postgresql 中的逻辑复制问题

问题描述 投票:0回答:1

我正在尝试设置 PostgreSQL 的内置逻辑复制,从一个 AWS RDS 实例到另一个实例。为此创建了一个新用户 -

CREATE ROLE my_replication WITH 
    NOSUPERUSER
    NOCREATEDB
    NOCREATEROLE
    INHERIT
    LOGIN
    NOREPLICATION
    NOBYPASSRLS
    CONNECTION LIMIT -1;
GRANT rds_replication TO my_replication;

当我登录数据库并执行时

CREATE PUBLICATION my_publication FOR TABLES IN SCHEMA schema1, schema2....;

我收到错误

 ERROR:  permission denied for database mydb

我已经作为 my_replication 连接到 mydb。 PostgreSQL 版本是 16.3。还需要哪些额外权限?

postgresql amazon-rds logical-replication
1个回答
0
投票

我能够通过

修复该特定错误
  GRANT CREATE ON DATABASE mydb TO my_replication;

但事实证明,更多的特权是必要的。 “要将表添加到发布中,调用用户必须拥有该表的所有权。FOR ALL TABLES 和 FOR TABLES IN SCHEMA 子句要求调用用户是超级用户。” - 来自文档

© www.soinside.com 2019 - 2024. All rights reserved.