pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
CREATE USER — 创建一个新数据库用户
CREATE USERusername[ WITH [ SYSIDuid] [ PASSWORD 'password' ] ] [ CREATEDB | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ] [ IN GROUPgroupname[, ...] ] [ VALID UNTIL 'abstime' ]
username用户的名称。
uidSYSID 子句可以用来选择 正被创建的用户的 Postgres 用户 id。这些 ID 完全不必与 UNIX 用户 ID 相匹配,但有些人 选择让这些数字保持一致。
如果没有指定,将默认使用已分配的最大用户 ID 加一。
password设置用户的口令。如果你不打算使用口令 认证,可以省略这个选项,否则该用户 将无法连接到做了口令认证的服务器。 细节见 pg_hba.conf(5) 或管理员指南。
这些子句定义用户创建数据库的能力。 如果指定了 CREATEDB,将被定义的用户将 被允许创建他自己的数据库。使用 NOCREATEDB 将拒绝用户创建数据库的能力。如果这个 子句被省略,默认使用 NOCREATEDB。
这些子句决定是否允许用户自己 创建新用户。这个选项还会让该用户成为 可以越过所有访问限制的超级用户。 省略这个子句将把该用户的这个 属性值设置为 NOCREATEUSER。
groupname把该用户作为新成员插入其中的组的名称。
abstimeVALID UNTIL 子句设置一个绝对时间,超过该时间后 用户的口令不再有效。 如果省略这个子句,登录将永久有效。
CREATE USER命令成功完成时返回的消息。
CREATE USER 将向一个 Postgres 实例添加一个新用户。关于管理 用户和认证的信息,请参阅管理员指南。 你必须是数据库超级用户才能使用这个命令。
使用 ALTER USER 更改用户的口令和权限,使用 DROP USER 删除一个用户。 使用 ALTER GROUP 把用户添加到其他组中或从其他组中移除该用户。 Postgres 附带一个脚本 createuser, 它具有与这个命令相同的功能(事实上,它调用这个命令), 但可以从命令 shell 运行。
创建一个没有口令的用户:
CREATE USER jonathan
创建一个带口令的用户:
CREATE USER davide WITH PASSWORD 'jw8s0F4'
创建一个带口令的用户,其账号有效到 2001 年底。 注意 2002 年到来一秒之后,该账号不再 有效:
CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL 'Jan 1 2002'
创建一个用户可以创建数据库的账号:
CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB
SQL92 中没有 CREATE USER 语句。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。