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

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
历史版本。 PostgreSQL 7.1 已结束支持。 请参阅 当前版本手册.

dropuser

dropuser — 删除(移除)一个 Postgres 用户

大纲

dropuser [options...] [username]

输入

-h, --host host

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

-p, --port port

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

-e, --echo

回显 createdb 生成并发送给后端的查询。

-q, --quiet

不显示响应。

-i, --interactive

在实际移除用户之前提示确认。

username

指定要删除的 Postgres 用户的名称。该名称必须存在于 Postgres 安装中。如果命令行上没有指定名称,会提示你输入一个。

选项 -h、-p 和 -e 被原样传递给psql。 psql 的选项 -U 和 -W 也可用,但在此上下文中可能造成混淆。

输出

DROP USER

一切正常。

dropuser: deletion of user "username" failed

出了问题。用户没有被删除。

If there is an error condition, the backend error message will be displayed. See DROP USER and psql for possibilities.

描述

dropuser 移除一个现有的 Postgres 用户以及该用户所拥有的数据库。只有 pg_shadow 表中 usesuper 被设置的用户才能删除 Postgres 用户。

dropuser 是围绕 SQL 命令 DROP USER 的一个 shell 脚本包装,它通过 Postgres 交互式终端psql执行。因此,用这种方法或其他方法删除用户并没有什么特别之处。这意味着脚本必须能找到 psql,而且目标主机上有数据库服务器在运行。此外, psql 和 libpq 前端库可用的任何默认设置和环境变量都适用。

用法

要从默认数据库服务器上移除用户joe:

$ dropuser joe
DROP USER

用主机 eden 上的 postmaster、端口 5000 删除用户 joe,带验证并看一看底层查询:

$ dropuser -p 5000 -h eden -i -e joe
User "joe" and any owned databases will be permanently deleted.
Are you sure? (y/n) y
DROP USER "joe"
DROP USER

报告文档问题

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