PostgreSQL - 删除数据库


在本章中,我们将讨论如何删除 PostgreSQL 中的数据库。有两个选项可以删除数据库 -

  • 使用 DROP DATABASE(一个 SQL 命令)。
  • 使用dropdb命令行可执行文件。
使用此操作之前请务必小心,因为删除现有数据库将导致数据库中存储的完整信息丢失。

使用删除数据库

此命令删除数据库。它删除数据库的目录条目并删除包含数据的目录。它只能由数据库所有者执行。当您或任何其他人连接到目标数据库(连接到 postgres 或任何其他数据库以发出此命令)时,无法执行此命令。

句法

DROP DATABASE 的语法如下 -

DROP DATABASE [ IF EXISTS ] name

参数

该表列出了参数及其说明。

S. 编号 参数及说明
1

如果存在

如果数据库不存在,不要抛出错误。在此情况下,已发出通知。

2

姓名

要删除的数据库的名称。

我们无法删除具有任何打开连接的数据库,包括我们自己来自psqlpgAdmin III的连接。如果我们想删除当前连接的数据库,我们必须切换到另一个数据库或模板1 。因此,使用程序dropdb可能更方便,它是此命令的包装器。

例子

以下是一个简单的示例,它将从 PostgreSQL 模式中删除testdb -

postgres=# DROP DATABASE testdb;
postgres-# 

使用 dropdb 命令

PostgresSQL 命令行可执行文件dropdb是 SQL 命令DROP DATABASE的命令行包装器。通过此实用程序删除数据库与通过其他访问服务器的方法删除数据库之间没有明显的区别。dropdb 会破坏现有的 PostgreSQL 数据库。执行该命令的用户必须是数据库超级用户或数据库的所有者。

句法

dropdb的语法如下所示 -

dropdb  [option...] dbname

参数

下表列出了参数及其说明

S. 编号 参数及说明
1

数据库名

要删除的数据库的名称。

2

选项

dropdb 接受的命令行参数。

选项

下表列出了 dropdb 接受的命令行参数 -

S. 编号 选项和说明
1

-e

显示正在发送到服务器的命令。

2

-我

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

3

-V

打印 dropdb 版本并退出。

4

--如果存在

如果数据库不存在,不要抛出错误。在此情况下,已发出通知。

5

- 帮助

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

6

-h 主机

指定运行服务器的计算机的主机名。

7

-p 端口

指定服务器侦听连接的 TCP 端口或本地 UNIX 域套接字文件扩展名。

8

-U 用户名

连接的用户名。

9

-w

切勿发出密码提示。

10

-W

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

11

--maintenance-db=数据库名称

指定要连接到的数据库的名称,以便删除目标数据库。

例子

以下示例演示了从操作系统命令提示符删除数据库 -

dropdb -h localhost -p 5432 -U postgress testdb
Password for user postgress: ****

上面的命令删除数据库testdb。在这里,我使用了postgres(在 template1 的 pg_roles 下找到)用户名来删除数据库。