PostgreSQL 9.4.4 中文手册
上一页 | 上一级 |  | 下一页

# dropuser

## 名称

dropuser -- 删除一个PostgreSQL用户账户

## 大纲

`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支持的环境变量(见 第 31.14 节)。

## 诊断

如果有问题，参阅DROP ROLE 和psql获取可能的问题和错误消息的描述。 数据库服务器必须在目标机器上运行。 此外，前端库libpq中的所有缺省连接设置和环境变量都将适用。

## 示例

删除缺省数据库服务器上的`joe`用户：

    $ dropuser joe

在主机`eden`上删除`joe`用户，端口5000， 执行命令前提示并且回显执行的命令：

    $ dropuser -p 5000 -h eden -i -e joe
    Role "joe" will be permanently removed.
    Are you sure? (y/n) y
    DROP ROLE joe;

## 另请参阅

createuser, DROP ROLE

上一页 | 起始页 | 下一页
droplang | 上一级 | ecpg