我正在尝试在位于 Amazon rds 的 postgres 实例上创建模式。
该模式将用于从基于本地数据库的现有模式导入数据。
问题是我无权在 RDS 上创建模式。
dw_etl
我用来连接 postgres 实例的用户具有角色rds_superuser
,与superuser
角色相似。dw_etl
应该能够创建新的模式。
问题:
- 有没有办法用 RDS 创建模式?
- 如果我无法在 RDS 上创建模式,那么“隔离”数据的最佳方式是什么?架构会
public
变成某种转储吗?
谢谢
我正在尝试在位于 Amazon rds 的 postgres 实例上创建模式。
该模式将用于从基于本地数据库的现有模式导入数据。
问题是我无权在 RDS 上创建模式。
dw_etl
我用来连接 postgres 实例的用户具有角色rds_superuser
,与superuser
角色相似。dw_etl
应该能够创建新的模式。
问题:
public
变成某种转储吗?谢谢
从这个意义上说,RDS PostgreSQL 与任何其他 PostgreSQL 安装没有什么不同。当然,您可以创建模式和任何您想要的对象。
这里的问题是缺少特权。默认情况下,数据库的所有者(创建它的角色
CREATE, CONNECT, TEMP
)对数据库具有完全访问权限 ( ),并且也可以将这些权限授予其他角色。使用创建它的角色连接到数据库,然后您可以尝试创建一个模式来证明上述内容。要使其他用户能够在此数据库中创建模式,请执行以下操作:
在此之后,您可以以 身份登录
andy_k
并创建模式。