源本科技 | 码上会

PostgreSQL 删除数据库

2026/03/17
2
0

学习目标

  • 掌握 DROP DATABASE 语句的语法结构及其不可逆的特性。

  • 学会使用 IF EXISTS 子句优化脚本的健壮性,避免不必要的报错。

  • 熟悉通过命令行工具 dropdb 快速删除数据库的方法。

  • 理解执行删除操作前的必要前提条件(如权限验证、断开连接)。

  • 能够安全地执行单个或多个数据库的批量删除操作。


DROP DATABASE

在 PostgreSQL 数据库管理过程中,清理不再需要的数据库是日常维护的重要环节。DROP DATABASE 语句专为这一目的设计,它能够永久删除指定的数据库,包括其所有的目录条目和数据目录。

重要警告: 此操作是不可逆的。一旦执行,数据将无法恢复。因此,在执行前必须极其谨慎。只有数据库的所有者或超级用户才有权限执行此操作,且在执行前必须终止所有与该数据库的活动连接。

基本语法

DROP DATABASE [IF EXISTS] 数据库名称;

参数说明:

  • 数据库名称:您希望删除的数据库的确切名称。

  • IF EXISTS(可选):这是一个重要的子句。如果指定了该子句且数据库不存在,PostgreSQL 不会抛出错误,而是发出一条通知(notice)。这在自动化脚本中非常有用,可以防止因数据库已删除而导致的脚本中断。

删除单个数据库

要删除名为 my_renamed_db 的数据库,请执行以下命令:

DROP DATABASE my_renamed_db;

删除多个数据库

PostgreSQL 不支持在一条 DROP DATABASE 语句中同时删除多个数据库。若要删除 my_test_db1my_test_db2,需要分别执行两条命令:

DROP DATABASE my_test_db1;
DROP DATABASE my_test_db2;