来自MySQL而不知道ROLE我心不在焉地试了这个
GRANT CREATE ON TABLESPACE pg_default TO username;
Run Code Online (Sandbox Code Playgroud)
它没有达到预期的效果.我正在寻找的命令是:
ALTER ROLE username WITH CREATEDB;
Run Code Online (Sandbox Code Playgroud)
但究竟有什么不同呢?给某人CREATEDB角色隐含地给他们CREATE ON TABLESPACE ...?有桌子我可以看到这一切吗?
从文档中,GRANT CREATE ON TABLESPACE意味着(我的重点):
对于表空间,允许在表空间中创建表,索引和临时文件,并 允许创建将表空间作为其默认表空间的数据库.(请注意,撤消此权限不会改变现有对象的位置.)
alv*_*rre 11
他们是完全不同的特权.CREATEDB表示角色可以创建数据库.如果您的角色没有,则无法创建数据库,期间.
将表空间的CREATE授予角色意味着该角色将能够将该表空间用作数据库的默认表空间.因此,CREATEDB的角色将能够创建数据库; 只是不在那个表空间.请注意,始终有一个pg_default表空间将用作没有默认表空间的数据库的默认表空间.
| 归档时间: |
|
| 查看次数: |
8448 次 |
| 最近记录: |