pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
dropuser — 移除一个 PostgreSQL 用户账户
dropuser [options...] [username]
dropuser 移除一个现有的 PostgreSQL 用户 以及该用户所拥有的 数据库。只有 pg_shadow 表中 usesuper 被设置的用户才能 删除 PostgreSQL 用户。
dropuser 是围绕 SQL 命令 DROP USER 的一个 shell 脚本包装,它通过 PostgreSQL 交互式终端 psql 执行。因此, 用这种方法或其他方法删除用户 并没有什么特别之处。这意味着 脚本必须能找到 psql,而且 目标主机上有数据库服务器在 运行。此外, psql 和 libpq 前端库可用的任何默认 设置和环境变量都适用。
dropuser 接受下列命令行参数:
username指定要删除的 PostgreSQL 用户的 名称。该名称必须存在于 PostgreSQL 安装 中。如果命令行上没有指定 名称,会提示你输入一个。
-e--echo回显 dropuser 生成并发送给服务器的 查询。
-i--interactive在实际移除用户之前提示确认。
-q--quiet不显示响应。
createuser 还接受下列 用于连接参数的命令行参数:
-h host--host host指定 服务器 所在机器的主机名。如果 host 以斜线开头,它被用作 Unix 域套接字的目录。
-p port--port port指定服务器 正在监听连接的 Internet TCP/IP 端口或本地 Unix 域套接字文件扩展名。
-U username--username username用于连接的用户名(不是要删除的用户名)。
-W--password强制提示输入密码(用于连接服务器,而不是要被删除的用户的密码)。
PGHOSTPGPORTPGUSER默认连接参数
DROP USER一切正常。
dropuser: deletion of user "username" failed出了问题。用户没有被删除。
要从默认数据库服务器上移除用户joe:
$dropuser joeDROP USER
用主机 eden 上的 postmaster、端口 5000 删除 用户 joe,带验证并看一看底层 查询:
$dropuser -p 5000 -h eden -i -e joeUser "joe" and any owned databases will be permanently deleted. Are you sure? (y/n)yDROP USER "joe" DROP USER
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。