ALTER USER

Name

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. 该标准将用户定义部分交给具体数据库实现处理.