You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS RDS PostgreSQL逻辑复制权限问题:创建Publication报错

解决AWS RDS PostgreSQL逻辑复制创建Publication时的权限问题

在AWS RDS PostgreSQL 16.3实例中,创建逻辑复制专用用户my_replication并授予rds_replication角色后,执行CREATE PUBLICATION语句时出现错误:

ERROR:  permission denied for database mydb

需要补充以下两类权限:

1. 数据库层面的CREATE权限

创建Publication要求用户拥有目标数据库的CREATE权限,使用具备超级权限的用户(如rds_superuser角色用户)执行:

GRANT CREATE ON DATABASE mydb TO my_replication;

2. 发布对象的访问权限

复制用户需要能访问要发布的Schema和表,确保逻辑复制可以读取表数据:

-- 授予Schema的USAGE权限
GRANT USAGE ON SCHEMA schema1, schema2 TO my_replication;

-- 授予现有表的SELECT权限
GRANT SELECT ON ALL TABLES IN SCHEMA schema1, schema2 TO my_replication;

-- 可选:为后续在Schema中新建的表自动授予SELECT权限
ALTER DEFAULT PRIVILEGES IN SCHEMA schema1, schema2 GRANT SELECT ON TABLES TO my_replication;

权限说明

  • rds_replication角色仅提供AWS RDS层面的复制系统权限,不包含数据库的创建权限和用户表的访问权限,因此需要手动补充。
  • PostgreSQL 16中创建Publication要求用户必须拥有目标数据库的CREATE权限,同时对所有要发布的表具备SELECT权限(逻辑复制需要读取表内容生成变更日志)。

内容的提问来源于stack exchange,提问作者Jayadevan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 12:27:04