GRANT
吗?#1 楼
这是通过ALTER USER username CREATEDB;
完成的。请参见文档中的ALTER USER。
要删除数据库,您可以是超级用户(也可以通过
ALTER USER
授予该用户)或必须拥有数据库。#2 楼
首先,您必须以postgres用户身份登录:$ sudo -u postgres psql postgres
# \password postgres
Enter new password:
输入postgres用户(PostgreSQL上的特殊用户)的新密码后,您现在已以postgres登录您可以将权限授予其他用户。假设您有一个名为user1的用户。要授予他创建和删除数据库的能力,您必须写(以postgres用户身份):
ALTER USER user1 CREATEDB;
希望有帮助...
#3 楼
从头开始创建具有CREATEROLE和CREATEDB权限的用户。使用命令行客户端登录到PG服务器后,具有适当权限的用户可以创建用户(例如
postgres
用户) ,默认情况下,在UNIXes上,系统超级用户可以使用$ sudo -u postgres psql postgres
来轻松模拟它):CREATE ROLE user_name PASSWORD 'tYPe_YoUr_PaSSwOrD' NOSUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
NOSUPERUSER-创建的用户没有超级用户权限(建议使用
postgres
用户)。CREATEDB-创建的用户可以创建将拥有的数据库。
CREATEROLE-创建的用户可以为其拥有或拥有的对象创建角色(登录)
INHERIT-创建的用户继承一些默认选项(可选)。
LOGIN-创建的用户有权登录。
也可以使用PG二进制文件(应用程序)。例如,上述SQL等效于运行:
sudo -u postgres createuser --createdb --createrole --pwprompt user_name
授予现有用户权限创建数据库
使用命令行客户端登录到PG服务器后,该用户具有更改用户的适当权限(例如
postgres
用户,在UNIX上默认为系统超级用户可以使用$ sudo -u postgres psql postgres
轻松地模拟它):ALTER USER user_name CREATEDB;
,或赋予与上面的示例相同的权限: br />