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

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

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

destroydb

destroydb — 移除一个现有的Postgres数据库

大纲

destroydb [ dbname ]
destroydb [ -h host ] [ -p port ]
    [ -i ] [ dbname ]
  

输入

-h host

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

-p port

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

-i

以交互模式运行。 在删除数据库之前提示确认。

dbname

指定要删除的数据库的名称。该数据库必须是本安装中现有的 Postgres 数据库之一。 dbname 默认为 USER 环境变量的值。

输出

destroydb 将从现有数据库的 PGDATA/dbname/ 数据区中移除文件。

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

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

Connection to database 'template1' failed. FATAL 1: SetUserId: user 'username' is not in 'pg_shadow' destroydb: database destroy failed on dbname.

你在 pg_shadow 关系中没有有效的条目, 将不被允许访问 Postgres。 请联系你的 Postgres 管理员。

ERROR: user 'username' is not allowed to create/destroy databases destroydb: database destroy failed on dbname.

你没有删除(或创建)数据库的权限。 请联系你的 Postgres 站点管理员。

ERROR: destroydb: database 'dbname' does not exist. destroydb: database destroy failed on dbname.

要删除的数据库在 pg_database 类中没有条目。

ERROR: destroydb: database 'dbname' is not owned by you. destroydb: database destroy failed on dbname.

你不是指定数据库的数据库管理员(DBA)。

destroydb: database destroy failed on dbname.

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

注意

destroydb 内部在连接到 template1 数据库后通过 psql 运行 DESTROY DATABASE。

描述

destroydb 删除一个现有的 Postgres 数据库。 执行此命令的人必须是数据库管理员(DBA), 或者必须是 Postgres 超级用户。 该程序静默运行;不会显示任何确认消息。 数据库删除完毕后,将重新出现 Unix shell 提示符。

对该数据库的所有引用都将被移除, 包括包含该数据库及其相关文件的目录。

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

用法

要使用本地主机上端口为 5432 的 postmaster 删除数据库 demo:

    destroydb demo
   

要使用主机 eden 上端口为 5000 的 postmaster 删除数据库 demo:

    destroydb -p 5000 -h eden demo
   

提交更正

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