pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
CREATE USER — 定义一个新的数据库用户账号
CREATE USERname[ [ WITH ]option[ ... ] ] whereoptioncan be: SYSIDuid| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | CREATEDB | NOCREATEDB | CREATEUSER | NOCREATEUSER | IN GROUPgroupname[, ...] | VALID UNTIL 'abstime'
name用户的名称。
uidSYSID 子句可以用来选择正被创建的用户的 PostgreSQL 用户 ID。通常这并不 需要,但在你需要重新创建某个孤立对象的 拥有者时可能有用。
如果没有指定,将默认使用已分配的最大用户 ID 加一 (最小为 100)。
password设置用户的口令。如果你不打算使用口令 认证,可以省略这个选项,但那样的话,如果你以后决定切换到口令 认证,该用户将无法连接。口令可以稍后设置或更改, 使用 ALTER USER。
ENCRYPTEDUNENCRYPTED这些关键字控制口令在系统目录中是否以加密形式 存储。(如果两者都未指定, 默认行为由配置参数 PASSWORD_ENCRYPTION 决定。)如果 给出的口令字符串已经是 MD5 加密格式, 那么不管指定的是 ENCRYPTED 还是 UNENCRYPTED,它都会原样加密 存储(因为系统无法解密所指定的加密 口令字符串)。这允许在转储/恢复期间重新装载加密的 口令。
注意,较老的客户端可能不支持处理以加密形式存储的口令所需的 MD5 认证机制。
CREATEDBNOCREATEDB这些子句定义用户创建数据库的能力。如果 指定了 CREATEDB,将被定义的 用户将被允许创建他自己的数据库。使用 NOCREATEDB 将拒绝用户创建 数据库的能力。如果省略这个子句, 默认使用 NOCREATEDB。
CREATEUSERNOCREATEUSER这些子句决定是否允许用户自己 创建新用户。这个选项还会让该用户 成为可以越过所有访问限制的超级用户。 省略这个子句将把该用户的这个 属性值设置为 NOCREATEUSER。
groupname把该用户作为新成员插入其中的组的名称。 可以列出多个组名。
abstimeVALID UNTIL 子句设置一个绝对 时间,超过该时间后用户的口令不再有效。如果 省略这个子句,登录将永久有效。
使用 ALTER USER 更改 用户的属性,使用 DROP USER 删除一个用户。使用 ALTER GROUP 把 用户添加到组中或从组中移除用户。
PostgreSQL 包含一个程序 createuser,它具有与 CREATE USER 相同的功能(事实上,它调用这个 命令),但可以从命令 shell 运行。
创建一个没有口令的用户:
CREATE USER jonathan;
创建一个带口令的用户:
CREATE USER davide WITH PASSWORD 'jw8s0F4';
创建一个带口令的用户,口令有效到 2004 年底。 2005 年到来一秒之后,口令不再 有效。
CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';
创建一个用户可以创建数据库的账号:
CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;
CREATE USER 语句是一种 PostgreSQL 扩展。SQL 标准 把用户的定义留给实现。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。