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

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

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

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 报告译文问题。英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。