dropuser

名称

dropuser — 删除一个 Postgres 用户

语法

dropuser [ options ] [ username ]

输入

-h, --host host
声明 postmaster 正在运行的机器的主机名.
-p, --port port
声明 postmaster 正在侦听的互联网 TCP/IP 端口号或本地Unix域套接字的文件扩展(描述符).
-e, --echo
回现 createdb 生成的查询并发送给后端。
-q, --quiet
不显示响应。
-i, --interactive
在真正删除用户前前提示。
username
声明要删除的 PostgreSQL用户名.该名字必须存在于 Postgres 节点.如果你没有在命令行上声明,将会被提示输入一个。
选项 -h-p,和 -e,逐字传递给 psqlpsql 选项 -U-W 也可以使用,但是这些开关的使用在这个环境中可能有些混乱。

输出

DROP USER
一切正常。
dropuser: deletion of user "username" failed
出了差错,用户没有删除。

如果出现错误,将会显示后端错误信息。参阅 DROP USERpsql 获取可能信息描述。

描述

dropuser 删除一个现有 PostgreSQL 用户该用户所有的数据库。只有在 pg_shadow 表里面拥有 usesuper 集的用户可以创建新的 PostgreSQL 用户。

dropuser 是一个 shell 脚本,通过 PostgreSQL 交互终端 psql 装了SQL 命令  DROP USER 。因此,用那种方法删除用户都没什么特别的。这意味着psql 必须能被脚本找到并且有一个数据库服务器在目标主机上运行。同样,任何psql 和 libpq 前端库可获得的缺省设置和环境变量都将生效。

用法

删除缺省数据库服务器上的用户 joe
$ dropuser joe
DROP USER
用在主机 eden 上的 postmaster 删除用户 joe,端口是 5000,避免提示并且显示执行的查询:
$ 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