↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1 / 7.0 / 6.5 / 6.4
历史版本PostgreSQL 7.4 已于 2010 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

ALTER USER

ALTER USER — 更改一个数据库用户帐号

大纲

ALTER USER name [ [ WITH ] option [ ... ] ]

where option can be:

    [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' 
    | CREATEDB | NOCREATEDB
    | CREATEUSER | NOCREATEUSER 
    | VALID UNTIL 'abstime'

ALTER USER name RENAME TO newname

ALTER USER name SET parameter { TO | = } { value | DEFAULT }
ALTER USER name RESET parameter

描述

ALTER USER 用于更改 PostgreSQL 用户账户的属性。命令中未提及的属性保持其原有设置。

语法中的第一种变体更改某些全局用户权限和认证设置。(细节见下文。)只有数据库超级用户才能用此命令更改这些权限和口令过期。普通用户只能更改自己的口令。

第二种变体更改用户的名称。只有数据库超级用户才能重命名用户账户。会话用户不能被重命名。(如果你需要这样做,请以其他用户连接。)

第三种和第四种变体更改用户对指定配置变量的会话默认值。之后每当该用户启动新会话时,指定的值就成为会话默认值,覆盖 postgresql.conf 中存在的或从 postmaster 命令行接收到的任何设置。普通用户可以更改自己的会话默认值。超级用户可以更改任何人的会话默认值。

参数

name

要更改其属性的用户名。

password

此帐号要使用的新密码。

ENCRYPTED
UNENCRYPTED

这些关键字控制密码是否以加密形式存储在pg_shadow中。 (有关这一选择的更多信息,参见 CREATE USER。)

CREATEDB
NOCREATEDB

这些子句定义用户创建数据库的能力。如果指定了 CREATEDB,该用户 将被允许创建自己的数据库。使用 NOCREATEDB 将拒绝用户创建数据库的能力。

CREATEUSER
NOCREATEUSER

这些子句决定是否允许用户自己创建新用户。此选项还会把该用户变为可以越过所有访问限制的超级用户。

abstime

该用户密码将过期失效的日期(以及可选的时间)。 要让密码永不过期,请使用'infinity'。

newname

该用户的新名称。

parameter
value

把该用户对指定配置参数的会话默认值设为给定值。如果 value 为 DEFAULT,或等价地使用了 RESET,则移除该用户专有的变量设置,用户在新会话中将继承系统范围的默认设置。使用 RESET ALL 可清除所有设置。

有关允许的参数名和值的更多信息,请参见 SET和 第 16.4 节。

注意

使用CREATE USER 添加新用户,使用DROP USER删除用户。

ALTER USER不能更改用户的组成员资格。 要做到这一点,请使用ALTER GROUP。

使用 ALTER DATABASE,也可以把会话默认值绑定到特定数据库而不是用户。

示例

更改用户口令:

ALTER USER davide WITH PASSWORD 'hu8jmn3';

更改用户的有效期限(valid until)日期:

ALTER USER manuel VALID UNTIL 'Jan 31 2030';

更改用户的有效期限日期,指定他的授权应在 2005 年 5 月 4 日正午、使用比 UTC 早一小时的时区过期:

ALTER USER chris VALID UNTIL 'May 4 12:00:00 2005 +1';

让用户永久有效:

ALTER USER fred VALID UNTIL 'infinity';

授予用户创建其他用户和新数据库的能力:

ALTER USER miriam CREATEUSER CREATEDB;

兼容性

ALTER USER语句是 PostgreSQL的一种扩展。 SQL 标准将用户的定义交由具体实现决定。

另请参阅

CREATE USER, DROP USER, SET

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。