九游平台/ 云数据库 rds/ 常见问题/ 数据库权限/ 普通用户在postgres数据库下创建对象失败
更新时间:2024-04-24 gmt 08:00

普通用户在postgres数据库下创建对象失败-九游平台

问题描述

  • 普通用户创建schema失败

    命令:create schema my_schema;

    报错:error: permission denied for database postgres

  • 普通用户创建表失败

    命令:create table my_table(id int primary key,name varchar(30));

    error: permission denied for schema public

解决方法

云数据库 rds for postgresql禁止普通用户在postgres数据库创建对象,您可以使用root用户在postgres数据库下创建对象。

root用户可在postgres数据库下创建对象需要内核版本为支持root提权的版本,具体请参见root用户权限说明

root用户权限说明

rds for postgresql开放了root用户权限。为了便于用户使用rds for postgresql并保证在无操作风险的前提下,为root用户在特定场景进行了提权。

各个版本root用户提权情况见下表。

表1 root用户权限说明

版本

是否提权

提权起始版本

pgcore9

不涉及

pgcore10

不涉及

pgcore11

11.11

pgcore12

12.6

pgcore13

13.2

pgcore14

14.4

pgcore15

15.4

pgcore16

16.2

root提权涉及以下场景:

  • 创建事件触发器
  • 创建包装器
  • 创建逻辑复制-发布
  • 创建逻辑复制-订阅
  • 查询和维护复制源
  • 创建replication用户
  • 创建全文索引模板以及parser
  • 对系统表执行vacuum
  • 对系统表执行analyze
  • 创建插件
  • 授予用户某个对象的权限

相关文档

网站地图