pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
createuser — 创建一个新的 Postgres 用户
createuser [options] [username]
host指定运行 postmaster 的机器的主机名。
port指定 postmaster 正在监听连接的 Internet TCP/IP 端口或本地 unix 域套接字文件扩展名。
显示 createdb 生成并发送给后端的查询。
不显示响应。
允许新用户创建数据库。
禁止新用户创建数据库。
允许新用户创建其他用户。
禁止新用户创建其他用户。
如果给出这个选项,createuser将提示输入新用户的口令。如果你不打算使用口令认证,则不需要它。
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 joeIs the new user allowed to create databases? (y/n)nShall the new user be allowed to create more new users? (y/n)nCREATE USER
使用主机 eden 上端口 5000 的 postmaster 创建同一个用户 joe,避开提示并查看底层查询:
$ createuser -p 5000 -h eden -D -A -e joe
CREATE USER "joe" NOCREATEDB NOCREATEUSER
CREATE USER
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。