↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 6.5 / 6.4
历史版本PostgreSQL 6.5 已于 2004 年 6 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

destroyuser

destroyuser — 销毁一个 Postgres 用户及其关联的数据库

大纲

destroyuser [ username ]
destroyuser [ -h host ] [ -p port ]
    [ username ]
  

输入

-h host

指定 postmaster 正在运行的机器的主机名。默认 使用本地 Unix 域套接字而不是 IP 连接。

-p port

指定 postmaster 正在监听连接的 Internet TCP/IP 端口或本地 Unix 域套接字文件 扩展。端口号默认为 5432, 或 PGPORT 环境变量的值(如果设置了)。

username

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

输出

destroyuser 将移除 pg_user 或 pg_shadow 系统表中的一个项,并且将移除该用户作为 管理员 (DBA)的所有数据库。

Connection to database 'template1' failed. connectDB() failed: Is the postmaster running and accepting connections at 'UNIX Socket' on port 'port'? destroyuser: database access failed.

destroyuser 无法连接到指定主机和端口上的 postmaster 进程。如果你看到这条消息, 请确保 postmaster 正在正确的主机上运行,并且你指定了正确的 端口。如果你的站点使用认证系统,请确保你 已经获得了所需的认证凭据。

Connection to database 'template1' failed. FATAL 1: SetUserId: user 'username' is not in 'pg_shadow' destroyuser: database access failed.

你在关系 pg_shadow 中没有有效的项, 因而不允许访问 Postgres。请联系你的 Postgres 管理员。

destroyuser: username cannot delete users.

你没有删除用户的权限;请联系你的 Postgres 站点管理员。

destroyuser: user "username" already exists

要添加的用户已经在 pg_shadow 类中有一个项。

database access failed

psql 或后端服务器中发生了内部错误。请确保你的站点管理员已经正确安装 Postgres并已用 initdb 初始化了站点。

destroydb on dbname failed - exiting

psql 或后端服务器中发生了内部错误。所指定的数据库可能存在 Unix 权限问题。

delete of user username was UNSUCCESSFUL

psql 或后端服务器中发生了内部错误。

注意

destroyuser 内部在连接到 template1 数据库的 psql 中运行 DROP USER。

描述

destroyuser 移除一个现有的 Postgres 用户以及该用户作为数据库管理员的 数据库。 只有在 pg_shadow 类中设置了 usesuper 的用户才能销毁 Postgres 用户。按发行时的状态, 用户 postgres 可以移除用户。

destroyuser 是一个调用 psql 的 shell 脚本。因此,在执行 destroyuser 之前,数据库服务器主机上必须有一个 postmaster 进程在运行。 PGOPTION 和 PGREALM 环境变量将被传递给 psql, 并按 psql 中的描述处理。

一旦被调用,destroyuser 会警告你哪些数据库将在 过程中被销毁,并允许你在需要时中止对该用户的移除。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。