在本章中,无涯教程将讨论如何在PostgreSQL中删除数据库。删除数据库有两个选项-

  • 使用DROP DATABASE,这是一个SQL命令。
  • 使用dropdb是命令行可执行文件。

使用DROP命令

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

下面给出了DROP DATABASE的语法-

DROP DATABASE [ IF EXISTS ] name

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

S. No. Parameter & 描述
1

IF EXISTS

如果数据库不存在,请不要引发错误。在这种情况下发出通知。

2

name

要删除的数据库的名称。

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

postgres=# DROP DATABASE testdb;
postgres-# 

使用dropdb命令

PostgresSQL命令行可执行文件 dropdb 是SQL命令 DROP DATABASE 的命令行包装,通过此实用程序和通过其他访问服务器的方法删除数据库之间没有有效的区别。

dropdb 的语法如下所示-

dropdb  [option...] dbname

下表列出了参数及其说明

S. No. Parameter & 描述
1

dbname

要删除的数据库的名称。

2

options

命令行参数,dropdb接受。

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

S. No. Option & 描述
1

-e

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

2

-i

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

3

-V

打印dropdb版本并退出。

4

--if-exists

如果数据库不存在,请不要引发错误。在这种情况下发出通知。

5

--help

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

6

-h host

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

7

-p port

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

8

-U username

连接的用户名。

9

-w

切勿发出密码提示。

10

-W

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

11

-maintenance-db=dbname

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

以下示例演示了如何从OS命令提示符下删除数据库-

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

上面的命令删除数据库 testdb ,在这里,无涯教程使用了 postgres (位于template1的pg_roles下)用户名删除数据库。

参考链接

https://www.learnfk.com/postgresql/postgresql-drop-database.html