添加用户。
createuser 是 SQL 命令 CREATE USER的封装。
命令:createuser [-a] [-A] [-d] [-D] [-e] [-P] [-h 主机名] [-p port] 用户名
说明:
[-a]:允许创建其他用户,相当于创建一个超级用户;
[-A]:不允许此用户创建其他用户;
[-d]:允许此用户创建数据库;
[-D]:不允许此用户创建数据库;
[-e]:将执行过程显示到Shell上;
[-P]:创建用户时,同时设置密码;
[-h 主机名]:为某个主机上的Postgres创建用户;
[-p port]:与-h参数一同使用,指定主机的端口。
例子:
1、不带参数的创建用户。
$ createuser testuser
Shall the new user be allowed to create databases? (y/n) n
Shall the new user be allowed to create more new users? (y/n) n
CREATE USER
不带参数创建用户时,Postgres会询问此用户的权限。
2、为指定的主机和端口上创建用户。
$ createuser -h 172.28.18.51 -p 5000 -D -A -e testuser
CREATE USER joe NOCREATEDB NOCREATEUSER;
CREATE USER
这个命令为主机172.28.18.51的5000端口创建用户testuser,
此用户不可以创建数据库和其他用户。
3、创建超级用户。
$ createuser -P -d -a -e testuser
Enter password for new user: testuser
Enter it again: testuser
CREATE USER joe PASSWORD 'testuser' CREATEDB CREATEUSER;
CREATE USER
这个命令在本地创建一个超级用户(-a),可以创建数据库(-d),
同时要求设置密码。
由于带了创建数据库和创建用户的参数,
所以Postgres不会像例子1中那样再次询问。
--------------------------------
删除用户。
命令:dropuser [-i] [-h] [-p] [-e] 用户名
解释:
[ -i]:删除用户前,要求确认;
[-h 主机名]:删除某个主机上的Postgres用户;
[-p port]:与-h参数一同使用,指定主机的端口;
[-e]:将执行过程显示到Shell上。
例子:
1、删除本地的Postgres用户。
$ dropuser testuser
DROP USER
2、删除远程Postgres服务器上的用户。
$ dropuser -p 5000 -h 172.28.18.51 -i -e testuser
User "testuser" and any owned databases will be permanently deleted.
Are you sure? (y/n) y
DROP USER "testuser"
DROP USER
此命令删除主机172.28.18.51(-h)的5000端口(-p)的用户testuser,
并且需要确认(-i)。