PostgreSQL - 删除数据库
-
简述
在本章中,我们将讨论如何在 PostgreSQL 中删除数据库。删除数据库有两种选择 -- 使用 DROP DATABASE,一个 SQL 命令。
- 使用dropdb命令行可执行文件。
使用此操作之前要小心,因为删除现有数据库会导致数据库中存储的完整信息丢失。
使用删除数据库
此命令删除数据库。它删除数据库的目录条目并删除包含数据的目录。它只能由数据库所有者执行。当您或其他任何人连接到目标数据库(连接到 postgres 或任何其他数据库以发出此命令)时,无法执行此命令。句法
DROP DATABASE 的语法如下:DROP DATABASE [ IF EXISTS ] name
参数
下表列出了参数及其说明。S. 没有。 参数及说明 1 IF EXISTS如果数据库不存在,不要抛出错误。在这种情况下发出通知。2 name要删除的数据库的名称。我们不能删除具有任何打开连接的数据库,包括我们自己来自psql或pgAdmin III的连接。如果我们想删除我们当前连接的数据库,我们必须切换到另一个数据库或模板1。因此,使用程序dropdb可能更方便,它是该命令的包装器。
例子
下面是一个简单的例子,将删除testdb来自您的 PostgreSQL 架构 -postgres=# DROP DATABASE testdb; postgres-#
-
使用 dropdb 命令
PostgresSQL 命令行可执行文件dropdb是 SQL 命令DROP DATABASE的命令行包装器。通过此实用程序删除数据库与通过其他访问服务器的方法删除数据库之间没有有效的区别。dropdb 破坏现有的 PostgreSQL 数据库。执行此命令的用户必须是数据库超级用户或数据库所有者。句法
dropdb的语法如下所示 -dropdb [option...] dbname
参数
下表列出了参数及其说明S. 没有。 参数及说明 1 dbname要删除的数据库的名称。2 optiondropdb 接受的命令行参数。选项
下表列出了 dropdb 接受的命令行参数 -S. 没有。 选项和说明 1 -e显示正在发送到服务器的命令。2 -i在执行任何破坏性操作之前发出验证提示。3 -V打印 dropdb 版本并退出。4 --if-exists如果数据库不存在,不要抛出错误。在这种情况下发出通知。5 --help显示有关 dropdb 命令行参数的帮助,然后退出。6 -h host指定运行服务器的机器的主机名。7 -p port指定服务器正在侦听连接的 TCP 端口或本地 UNIX 域套接字文件扩展名。8 -U username要连接的用户名。9 -w永远不要发出密码提示。10 -W强制 dropdb 在连接到数据库之前提示输入密码。11 --maintenance-db=dbname指定要连接到以删除目标数据库的数据库的名称。 -
例子
以下示例演示了从操作系统命令提示符删除数据库 -dropdb -h localhost -p 5432 -U postgress testdb Password for user postgress: ****
上面的命令删除数据库testdb. 在这里,我使用了postgres(在 template1 的 pg_roles 下找到)删除数据库的用户名。