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 子句可以用于选择正在被创建的用户的 PostgreSQL 用户标识。这个用户标识不需要和 UNIX 系统用户标识匹配,但是有些人愿意让两者相同。

 
如果没有声明这个,缺省使用已分配的最高用户标识加一。
password
设置用户的口令,如果你不准备使用口令认证,那么你可以省略这个选项,否则该用户将不能联接到一个口令认证的服务器上。参阅 pg_hba.conf(5) 或者管理员手册获取关于如何设置认证机制的详细信息。
CREATEDB, NOCREATEDB
这个子句定义用户的创建数据库权限.如果声明了 CREATEDB,被定义的用户将允许创建其自己的数据库.而使用 NOCREATEDB 将否决该用户的创建数据库的能力.如果忽略本子句,缺省是 NOCREATEDB.
CREATEUSER, NOCREATEUSER
该子句决定一个用户是否能创建一个新的用户.这个选项同样把次用户变成数据库超级用户,可以跨越所有访问限制。省略这个参数将置用户的这个属性为 NOCREATEUSER.
groupname
一个组名称,把这个用户设为该组成员。
abstime
VALID UNTIL (有效期)子句设置一个绝对时间,过了该时间后用户的 Postgres 登陆将不再有效.如果省略这个子句,登陆将总是有效的.

输出

CREATE USER
如果命令成功完成,返回此信息.

描述

CREATE USER 将向一个 Postgres 节点增加一个新用户.参考管理员手册获取关于管理用户和认证的信息。要执行这条命令,你必须是一个数据库超级用户。

使用 ALTER USER 修改用户的口令和权限, DROP USER 删除一个用户。使用 ALTER GROUP 从组中增加或删除用户。PostgreSQL 里有一个脚本 createuser 与此命令相同的功能(实际上,它调用这条命令),但是可以在命令行上运行。

用法

创建一个没有口令的用户:
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 语句.