dropuser
Name
dropuser -- 删除一个PostgreSQL用户账户
Synopsis
dropuser
[_connection-option_
...] [_option_
...] [_username_
]
描述
dropuser删除现有 PostgreSQL用户。 只有超级用户和拥有CREATEROLE
权限的用户可以删除 PostgreSQL用户。 (要删除一个超级用户,你必须首先是超级用户。)
dropuser是对 SQL命令DROP ROLE的封装。 因此,用哪种方法删除用户都一样。
选项
dropuser接受下列命令行参数:
_username_
指定要删除的PostgreSQL用户名称。 如果没有在命令行上指定用户名称和指定了 -i
/--interactive
选项,将会提示输入一个名称。
-e``--echo
回显dropuser生成并发送到服务端的命令。
-i
--interactive
真正删除用户之前提示确认,并且如果没有在命令行指定名称将提示输入用户名。
-V
--version
输出dropuser命令的版本信息,然后退出。
--if-exists
不要抛出如果用户不存在时发出的错误。
-?
--help
显示dropuser命令的帮助信息,然后退出。
dropuser还接受以下命令行选项用于连接参数:
-h
_host_
--host=``_host_
指定运行服务器的主机名。如果数值以斜杠开头则被用作到Unix域套接字的路径。
-p
_port_
--port=``_port_
指定服务器侦听的TCP端口或一个本地Unix域套接字文件的扩展(描述符)。
-U
_username_
--username=``_username_
进行联接的用户名(不是要删除的用户名)。
-w
--no-password
永远不提示输入密码。如果服务器要求密码验证和密码 (且)通过其他方式如.pgpass
文件(验证)不可用,则联接尝试将失败。 此选项在不需要用户输入密码的批处理作业和脚本中非常有用。
-W
--password
强制dropuser联接到数据库之前提示输入密码。
这个选项不是必须的,如果服务器要求认证密码 dropuser会自动提示需输入密码。 然而dropuser会浪费一个联接尝试判断出该服务器需要密码。 在某些情况下,这是值得键入-W
以避免多余的联接尝试。
环境变量
PGHOST
PGPORT
PGUSER
缺省的联接参数
此实用工具,像大多其他的PostgreSQL实用工具, 还使用libpq支持的环境变量(见 Section 31.14)。
诊断
如果有问题,参阅DROP ROLE 和psql获取可能的问题和错误消息的描述。 数据库服务器必须在目标机器上运行。 此外,前端库libpq中的所有缺省连接设置和环境变量都将适用。
示例
删除缺省数据库服务器上的joe
用户:
<samp class="literal">$</samp> <kbd class="literal">dropuser joe</kbd>
在主机eden
上删除joe
用户,端口5000, 执行命令前提示并且回显执行的命令:
<samp class="literal">$</samp> <kbd class="literal">dropuser -p 5000 -h eden -i -e joe</kbd>
<samp class="literal">Role "joe" will be permanently removed.
Are you sure? (y/n)</samp> <kbd class="literal">y</kbd>
<samp class="literal">DROP ROLE joe;</samp>