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

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

createuser

createuser — 定义一个新的 PostgreSQL 用户账户

大纲

createuser [option...] [username]

描述

createuser创建一个新的 PostgreSQL用户。只有超级用户(在 pg_shadow表中usesuper被设置的用户)才能创建新的 PostgreSQL用户,因此 createuser必须由能以 PostgreSQL超级用户身份连接的人来调用。

成为超级用户还意味着能够绕过数据库内的访问权限检查,所以不应轻易授予超级用户身份。

createuser是 SQL命令CREATE USER的一个包装。通过这个实用程序创建用户与通过其他访问服务器的方法创建用户没有实质区别。

选项

createuser接受下列命令行参数:

username

指定要创建的 PostgreSQL 用户的名称。这个名称必须在所有 PostgreSQL用户之间唯一。

-a
--adduser

允许新用户创建其他用户。(注意:实际上,这会使新用户成为超级用户。这个选项的命名并不恰当。)

-A
--no-adduser

不允许新用户创建其他用户(即新用户是普通用户,不是超级用户)。这是默认值。

-d
--createdb

允许新用户创建数据库。

-D
--no-createdb

不允许新用户创建数据库。这是默认值。

-e
--echo

显示 createuser 生成并发送给服务器的命令。

-E
--encrypted

加密存储在数据库中的用户口令。如果未指定,则使用默认的口令行为。

-i number
--sysid number

允许你为新用户选择一个非默认的用户 ID。这并非必需,但有些人喜欢这样。

-N
--unencrypted

不加密存储在数据库中的用户口令。如果未指定,则使用默认的口令行为。

-P
--pwprompt

如果给出这个选项,createuser将提示输入新用户的口令。如果你不打算使用口令认证,则不需要它。

-q
--quiet

不显示响应。

如果命令行上没有指定名称和其他缺少的信息,系统会提示你输入。

createuser还接受下列用于连接参数的命令行参数:

-h host
--host host

指定服务器正在运行的主机名。如果值以斜杠开头,它将被用作 Unix 域套接字的目录。

-p port
--port port

指定服务器正在监听连接的 TCP 端口或本地 Unix 域套接字文件扩展名。

-U username
--username username

要连接的用户名(不是要创建的用户名)。

-W
--password

强制口令提示(用于连接服务器,而不是新用户的口令)。

环境

PGHOST
PGPORT
PGUSER

默认连接参数

诊断

如果遇到困难,请参见CREATE USER和psql中关于潜在问题和错误消息的讨论。数据库服务器必须在目标主机上运行。此外, libpq前端库使用的任何默认连接设置和环境变量都将适用。

示例

在默认数据库服务器上创建用户 joe:

$ createuser joe
Is the new user allowed to create databases? (y/n) n
Shall the new user be allowed to create more new users? (y/n) n
CREATE USER

使用主机 eden上端口 5000 的服务器创建同一个用户 joe,避开提示并查看底层命令:

$ createuser -p 5000 -h eden -D -A -e joe
CREATE USER "joe" NOCREATEDB NOCREATEUSER
CREATE USER

提交更正

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