ALTER USER

名称

ALTER USER — 更改用户信息.

用法

ALTER USER username
    [ WITH PASSWORD 'password' ]
    [ CREATEDB | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ]
    [ VALID UNTIL 'abstime' ]

输入

username
想做更改的用户的用户名。
password
此帐号所使用的新口令.
CREATEDB, NOCREATEDB
这个子句定义该用户创建数据库的能力。如果声明了 CREATEDB,该用户可以创建她自己的数据库。用NOCREATEDB 将剥夺一个用户创建数据库的能力。
CREATEUSER, NOCREATEUSER
这个子句决定一个用户能否创建新用户。这个选项同样还令该用户成为超级用户,可以超越所有访问限制。
abstime
该用户帐号口令的有效日期(和可选的时间)。

输出

ALTER USER
更改成功的返回信息.
ERROR: ALTER USER: user "username" does not exist
如果声明的用户不存在返回的信息.

描述

ALTER USER 用于更改用户的 Postgres 帐号的属性.只有一个数据库超级用户可以用这个命令更改权限和口令有效期。普通用户只能更改他们自己的口令。

使用 CREATE USER 创建新用户和 DROP USER 删除用户。

用法

更改一用户口令:
ALTER USER davide WITH PASSWORD 'hu8jmn3';
更改一用户有效期
ALTER USER manuel VALID UNTIL 'Jan 31 2030';
更改一用户有效期,声明其权限应该在用比UTC早一小时的时区记时的1998年5月4日正午失效
ALTER USER chris VALID UNTIL 'May 4 12:00:00 1998 +1';
赋予一用户创建新用户和新数据库的权限.
ALTER USER miriam CREATEUSER CREATEDB;

兼容性

SQL92

在 SQL92里没有 ALTER USER 语句.该标准将用户定义部分交给具体数据库实现处理.