Hug*_*ich 16 postgresql permissions tablespaces aurora amazon-rds
当我在 PostgreSQL 中创建一个数据库而没有明确指定默认表空间时,该数据库的创建没有问题(我以pgsys用户身份登录):
postgres=> 创建数据库rich1;
创建数据库
postgres=> \l+
数据库列表
姓名 | 业主 | 编码 | 整理 | 类型 | 访问权限 | 尺寸 | 表空间 | 描述
-----------+----------+----------+-------------+-- -----------+------------------------------------------------+ -----------+------------+------------------------ -------------------
postgres | pgsys | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 7455 KB | pg_default | 默认管理连接数据库
管理员 | 管理员 | UTF8 | en_US.UTF-8 | en_US.UTF-8 | rdsadmin=CTc/rdsadmin | 无访问权限 | pg_default |
富豪1 | pgsys | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 7233 KB | pg_default |
模板0 | 管理员 | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/rdsadmin | 7345 KB | pg_default | 不可修改的空数据库
: rdsadmin=CTc/rdsadmin
模板1 | pgsys | UTF8 | en_US.UTF-8 | en_US.UTF-8 | = c/pgsys | 7345 KB | pg_default | 新数据库的默认模板
: pgsys=CTc/pgsys
(5 行)
如您所见,数据库被放入 pg_default 表空间,但如果我在 tablespace 子句中指定默认表空间(仍然以pgsys 身份登录),我会收到权限错误:
postgres=> 创建数据库rich2 表空间pg_default; 错误:表空间 pg_default 的权限被拒绝
这是该用户的权限:
postgres=> \du pgsys
角色列表
角色名称 | 属性 | 成员
-----------+-------------+-----------------
pgsys | 创建角色 | {rds_superuser}
: 创建数据库
这是 PostgreSQL 错误,但我应该提到这是一个 AWS Aurora 实例,以防万一。
小智 20
这是诀窍,至少对于 pgAdmin v4:将表空间留空。创建数据库时,它将默认为“pg_default”。
| 归档时间: |
|
| 查看次数: |
12639 次 |
| 最近记录: |