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

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.1 已于 2006 年 4 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

CREATE USER

CREATE USER — 创建一个新数据库用户

大纲

CREATE USER username
    [ WITH
     [ SYSID uid ]
     [ PASSWORD 'password' ] ]
    [ CREATEDB   | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ]
    [ IN GROUP     groupname [, ...] ]
    [ VALID UNTIL  'abstime' ]
  

输入

username

用户的名称。

uid

SYSID 子句可以用来选择正被创建的用户的 Postgres 用户 id。这些 ID 完全不必与 UNIX 用户 ID 相匹配,但有些人选择让这些数字保持一致。

如果没有指定,将默认使用已分配的最大用户 ID 加一。

password

设置用户的口令。如果你不打算使用口令认证,可以省略这个选项,否则该用户将无法连接到做了口令认证的服务器。关于如何设置认证机制的细节,见管理员指南中关于客户端认证的一章。

CREATEDB
NOCREATEDB

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

CREATEUSER
NOCREATEUSER

这些子句决定是否允许用户自己创建新用户。这个选项还会让该用户成为可以越过所有访问限制的超级用户。省略这个子句将把该用户的这个属性值设置为 NOCREATEUSER。

groupname

把该用户作为新成员插入其中的组的名称。

abstime

VALID 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

SQL92 中没有 CREATE USER 语句。

提交更正

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