企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# dropdb ## Name dropdb -- 删除一个 PostgreSQL 数据库 ## Synopsis `dropdb` [`_connection-option_`...] [`_option_`...] `_dbname_` ## 描述 dropdb 删除一个现有 PostgreSQL 数据库。 执行此命令的用户必须是数据库超级用户或者是数据库的所有者。 dropdb是对 SQL命令[DROP DATABASE](#calibre_link-38)的封装。 因此,用哪种方法删除数据库都一样。 ## 选项 dropdb 接受下列命令行参数: `_dbname_` 指定要删除的数据库名称 `-e``--echo` 回显dropdb生成并发送到服务端的命令。 `-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`数据库。 ## 环境变量 `PGHOST` `PGPORT` `PGUSER` 缺省的联接参数 此实用工具,像大多其他的PostgreSQL 实用工具, 还使用libpq支持的环境变量 (见 [Section 31.14](#calibre_link-39))。 ## 诊断 如果有问题,参阅 [DROP DATABASE](#calibre_link-38) 和[psql](#calibre_link-23) 获取可能的问题和错误消息的描述。 数据库服务器必须在目标机器上运行。 此外,前端库 libpq中的所有缺省连接设置和环境变量都将适用。 ## 示例 删除缺省数据库服务器上的`demo`数据库: ``` <samp class="literal">$</samp> <kbd class="literal">dropdb demo</kbd> ``` 在主机`eden`上删除`demo`数据库,端口是5000, 执行命令前提示并且回显执行的命令: ``` <samp class="literal">$</samp> <kbd class="literal">dropdb -p 5000 -h eden -i -e demo</kbd> <samp class="literal">Database "demo" will be permanently deleted. Are you sure? (y/n)</samp> <kbd class="literal">y</kbd> <samp class="literal">DROP DATABASE demo;</samp> ``` ## 另请参阅 [createdb](#calibre_link-40), [DROP DATABASE](#calibre_link-38)