CREATE USER

Section: SQL Commands (7)
Updated: 2003-11-02
Index Return to Main Contents
 

NAME

CREATE USER - 创建一个新的数据库用户帐户

 

SYNOPSIS

CREATE USER name [ [ WITH ] option [ ... ] ]

where option can be:
    
      SYSID uid 
    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
    | CREATEDB | NOCREATEDB
    | CREATEUSER | NOCREATEUSER
    | IN GROUP groupname [, ...]
    | VALID UNTIL 'abstime' 

 

DESCRIPTION 描述

CREATE USER 向一个 PostgreSQL 数据库集群增加一个新用户。 参考 Chapter 17 ``Database Users and Privileges'' 和 Chapter 19 ``Client Authentication'' 获取关于管理用户和认证的信息。 要执行这条命令,你必须是一个数据库超级用户。  

PARAMETERS 参数

name

 用户名
uid
SYSID 子句可以用于选择正在被创建的用户的 PostgreSQL 用户标识。 通常这是不必要的,但是如果你想恢复一个孤儿对象的所有者,也许这个很有用。


 如果没有声明这个,缺省使用已分配的最高用户标识加一(最小是 100)。

password

 设置用户的口令,如果你不准备使用口令认证, 那么你可以省略这个选项,但如果你想切换到一个口令认证的服务器,那么该用户将不能联接。 此口令可以稍后再次设置或者修改,使用 ALTER USER [alter_user(7)]。
ENCRYPTED
UNENCRYPTED
控制口令在数据库中是否以加密形式存储在系统表中。 (如果两个都没有设置,那么缺省的特性是由配置参数 password_encryption 决定的。) 如果提供的字串已经是 MD5 加密的格式,那么就照原样存储, 不管声明的是 ENCRYPTED 还是 UNENCRYPTED。 这样就允许在转储/恢复的过程中重载加密后的口令。


 请注意老的客户端可能缺少 MD5 认证机制,我们需要这个认证机制处理存储为密文的口令。

CREATEDB
NOCREATEDB
这个子句定义用户的创建数据库权限。 如果声明了CREATEDB, 被定义的用户将允许创建其自己的数据库。 而使用NOCREATEDB将否决该用户的创建数据库的能力。 如果忽略本子句,缺省是NOCREATEDB。
CREATEUSER
NOCREATEUSER

 该子句决定一个用户是否能创建一个新的用户。 这个选项同样把此用户变成数据库超级用户,可以跨越所有访问限制。省略这个参数将置用户的这个属性为 NOCREATEUSER。
groupname

 一个组名称,把这个用户设为该组成员。 你可以列出多个组名字。
abstime
VALID UNTIL (有效期)子句设置一个绝对时间, 过了该时间后用户的口令将不再有效。 如果省略这个子句,登陆将总是有效的。
 

NOTES 注意


 使用 ALTER USER [alter_user(7)] 修改用户的口令和权限,DROP USER [drop_user(7)] 删除一个用户。 使用 ALTER GROUP [alter_group(l)] 从组中增加或删除用户。

PostgreSQL 里有一个程序 createuser [createuser(1)] 与CREATE USER 有相同的功能(实际上,它调用这条命令), 但是可以在命令行上运行。  

EXAMPLES 例子


 创建一个没有口令的用户:

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;

 

COMPATIBILITY 兼容性

CREATE USER 语句是 PostgreSQL 扩展。 SQL 标准把用户的定义交给具体实现处理。  

SEE ALSO 参见

ALTER USER [alter_user(7)], DROP USER [drop_user(l)], createuser(1)  

译者

Postgresql 中文网站 何伟平 <laser@pgsqldb.org>


 

Index

NAME
SYNOPSIS
DESCRIPTION 描述
PARAMETERS 参数
NOTES 注意
EXAMPLES 例子
COMPATIBILITY 兼容性
SEE ALSO 参见
译者

This document was created by man2html, using the manual pages.
Time: 13:12:51 GMT, December 24, 2015