↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 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 已结束支持。 请参阅 当前版本手册.

createuser

createuser — 创建一个新的 Postgres 用户

大纲

createuser [options...] [username]

输入

-h, --host host

指定运行 postmaster 的机器的主机名。如果 host 以斜杠开头,它将被用作 unix 域套接字的目录。

-p, --port port

指定 postmaster 正在监听连接的 Internet TCP/IP 端口或本地 unix 域套接字文件扩展名。

-e, --echo

显示 createuser 生成并发送给后端的查询。

-q, --quiet

不显示响应。

-d, --createdb

允许新用户创建数据库。

-D, --no-createdb

禁止新用户创建数据库。

-a, --adduser

允许新用户创建其他用户。

-A, --no-adduser

禁止新用户创建其他用户。

-P, --pwprompt

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

-i, --sysid uid

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

username

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

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

选项 -h、-p和 -e会按原样传递给psql。 psql的选项 -U和 -W也可用,但在这种场合使用它们可能造成困惑。

输出

CREATE USER

一切正常。

createuser: creation of user "username" failed

出了些问题。用户没有被创建。

如果出现错误情况,将显示后端错误消息。参见 CREATE USER 和psql了解各种可能。

描述

createuser创建一个新的 Postgres用户。只有 pg_shadow表中usesuper被设置的用户才能创建新的 PostgreSQL用户。

createuser是一个 shell 脚本,它通过 Postgres交互式终端psql包装了 SQL命令 CREATE USER 。因此,通过这个或其他方法创建用户没有什么特别之处。这意味着脚本必须能找到 psql,并且目标主机上有一个数据库服务器在运行。此外, 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 的 postmaster 创建同一个用户 joe,避开提示并查看底层查询:

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

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.