GSt*_*Sto 187 postgresql permissions
如何让 PostgreSQL 中的用户帐户能够创建和删除数据库?有没有办法做到这一点GRANT?
Dan*_*ité 242
它完成了 ALTER USER username CREATEDB;
请参阅文档中的 ALTER USER。
要删除数据库,您要么是超级用户(也可以被授予ALTER USER),要么您必须拥有该数据库。
小智 44
首先,您必须以 postgres 用户身份登录:
$ sudo -u postgres psql postgres
# \password postgres
Enter new password:
Run Code Online (Sandbox Code Playgroud)
为 postgres 用户(PostgreSQL 上的一种特殊用户)输入新密码后,您现在以 postgres 身份登录,您可以向其他用户授予权限。假设您有名为 user1 的用户。要授予他创建和删除数据库的能力,您必须编写(作为 postgres 用户):
ALTER USER user1 CREATEDB;
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助...
Pau*_*ole 12
在您使用命令行客户端登录到 PG 服务器后,使用具有创建用户的适当权限的用户(如postgres用户,在 UNIX 上的默认情况下,系统超级用户可以使用 轻松模拟$ sudo -u postgres psql postgres):
CREATE ROLE user_name PASSWORD 'tYPe_YoUr_PaSSwOrD' NOSUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
Run Code Online (Sandbox Code Playgroud)
postgres用户,推荐)。也可以使用 PG 二进制文件(应用程序)。比如上面的SQL相当于运行:
CREATE ROLE user_name PASSWORD 'tYPe_YoUr_PaSSwOrD' NOSUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
Run Code Online (Sandbox Code Playgroud)
在您使用命令行客户端登录到 PG 服务器后,使用具有适当权限的用户来更改用户(例如postgres用户,在 UNIX 上的默认情况下,系统超级用户可以使用 轻松模拟$ sudo -u postgres psql postgres):
ALTER USER user_name CREATEDB;
Run Code Online (Sandbox Code Playgroud)
或者,赋予与上述示例相同的权利:
ALTER USER user_name CREATEDB CREATEROLE LOGIN;
Run Code Online (Sandbox Code Playgroud)