Postgresql 中文操作指南

dropdb

dropdb – 删除 PostgreSQL 数据库

Synopsis

dropdb [ connection-option …​] [ option …​] dbname

Description

dropdb 销毁现有的 PostgreSQL 数据库。执行此命令的用户必须是数据库超级用户或数据库所有者。

dropdb 是封装了 SQL 命令 DROP DATABASE 的一个包装器。通过此实用工具删除数据库和通过访问服务器的其他方法删除数据库之间没有实质性差异。

Options

dropdb 接受以下命令行参数:

  • dbname

    • 指定要删除的数据库的名称。

  • -e_—​echo_

    • 对 dropdb 生成并发送到服务器的命令进行回显。

  • -f_—​force_

    • 在删除目标数据库之前,尝试终止与目标数据库的所有现有连接。有关此选项的详细信息,请参见 DROP DATABASE

  • -i_—​interactive_

    • 在执行任何破坏性操作之前,发出验证提示。

  • -V_—​version_

    • 打印 dropdb 版本并退出。

  • —​if-exists

    • 如果数据库不存在,请不要抛出错误。此时会发出一个通知。

  • -?_—​help_

    • 显示有关 dropdb 命令行参数的帮助,然后退出。

dropdb 还接受以下用于连接参数的命令行参数:

  • -h _host—​host=_host

    • 指定服务器正在运行的计算机的主机名。如果该值以斜杠开头,则将其用作 Unix 域套接字的目录。

  • -p _port—​port=_port

    • 指定服务器正在监听连接的 TCP 端口或本地 Unix 域套接字文件扩展名。

  • -U _username—​username=_username

    • 连接时的用户名。

  • -w_—​no-password_

    • 永不发出密码提示。如果服务器需要密码验证但其他方法(如 .pgpass 文件)无法提供密码,连接尝试将失败。此选项可在无人执行密码输入的批处理作业和脚本中使用。

  • -W_—​password_

    • 强制 dropdb 在连接到数据库之前提示输入密码。

    • 此选项绝非必要,因为如果服务器要求密码身份验证,则 dropdb 会自动提示输入密码。但是,dropdb 会浪费一次连接尝试来查找服务器是否需要密码。在某些情况下,输入 -W 以避免额外的连接尝试是值得的。

  • —​maintenance-db=_dbname_

    • 指定用来连接以删除目标数据库的数据库的名称。如果未指定,将使用 postgres 数据库;如果不存在(或要删除),将使用 template1 。这可以是 connection string 。如果是这样,连接字符串参数将覆盖任何有冲突的命令行选项。

Environment

  • PGHOST_PGPORT_PGUSER

    • Default connection parameters

  • PG_COLOR

    • 指定是否在诊断消息中使用颜色。可能的值为 alwaysautonever

此实用程序与大多数其他 PostgreSQL 实用程序一样,还使用 libpq 支持的环境变量(请参阅 Section 34.15 )。

Diagnostics

如果出现困难,请参阅 DROP DATABASEpsql 以讨论潜在问题和错误消息。数据库服务器必须在目标主机上运行。此外,libpq 前端库使用的任何默认连接设置和环境变量都将适用。

Examples

要在默认数据库服务器上摧毁数据库 demo

$ dropdb demo

要使用主机 eden 和端口 5000 上的服务器、使用验证和查看基础命令来摧毁数据库 demo

$ dropdb -p 5000 -h eden -i -e demo
Database "demo" will be permanently deleted.
Are you sure? (y/n) y
DROP DATABASE demo;

See Also