PostgreSQL DROP/删除数据库:PSQL 命令示例

在 PostgreSQL 中删除数据库

PostgreSQL 中的 DROP DATABASE 语句用于永久删除所有目录条目和数据目录。只有数据库所有者才能执行此命令。当有人连接到目标数据库时,无法执行此命令。您需要连接到其他数据库才能执行 DROP DATABASE 命令。

因此,在执行此操作时,您应格外小心。

PostgreSQL DROP DATABASE 语法

DROP DATABASE [IF EXISTS) name;

这里:-

  • IF EXISTS:这是一个可选参数。如果数据库不存在,将显示警告而不是错误。
  • name:指定要删除的数据库名称。

让我们来看一个 PostgreSQL 删除数据库命令行示例。

通过 SQL Shell(命令行)删除 PostgreSQL 数据库

以下是在 Postgres 命令行中删除数据库的分步过程:

步骤 1) 使用 \l 命令确定当前可用的数据库。

PostgreSQL Drop Database Using SQL Shell

步骤 2) 要在 Postgres 中删除数据库,请输入命令:

drop database guru99

使用 \l 命令检查数据库是否已删除。

PostgreSQL Drop Database Using SQL Shell

步骤 3) 再次尝试删除同一数据库,您将收到错误。

PostgreSQL Drop Database Using SQL Shell

步骤 4) 使用 IF EXISTS 子句删除数据库,您将收到警告。

drop database IF EXISTS guru99

PostgreSQL Drop Database Using SQL Shell

PostgreSQL PgAdmin(GUI)删除数据库

步骤 1) 右键单击数据库“guru99”,然后单击“删除/Drop”。

PostgreSQL Drop Database PgAdmin

步骤 2) 在确认弹出窗口中单击“确定”。

PostgreSQL Drop Database PgAdmin

数据库已删除。

dropdb 命令

dropdb 命令允许您远程删除 PostgreSQL 中的数据库。但是,用户必须是该数据库的所有者才能使用 PostgreSQL 删除数据库命令来删除该数据库。

语法

Dropdb [option.] dbname
选项 描述
-e 回显 dropdb 创建并发送到服务器的命令。
-i 在执行任何破坏性操作之前显示验证提示。
-V 使用此选项打印 dropdb 版本。
–help 提供有关 dropdb 命令行参数的帮助。
-h host 帮助您指定服务器当前运行系统的宿主名称。
-p port 该选项允许您指定服务器建立连接的 Unix 域套接字文件扩展名。
–if exists 如果 DB 不存在,IF EXISTS 将显示一个错误而不是警告。
-U username 连接所用的用户名。
-w 如果您不想收到密码提示,请使用此选项。
-W 使用此参数在删除数据库之前提示输入密码。
maintenance db-=dbname 要连接以删除目标数据库的数据库名称。

PostgreSQL DROP DATABASE 示例

我们想通过位于 Rome 主机、端口 4565 的服务器,并带有验证,来销毁名为 guru99 的数据库,您需要使用以下删除数据库 PostgreSQL 命令。

dropdb -p 4565 -h rome -i -e guru99

数据库“guru99”将被永久删除。

您确定吗?(y/n) 如果您选择 y,那么您可以

DROP DATABASE guru99;

摘要

  • PSQL DROP DATABASE 语句会永久从 PostgreSQL 环境中删除所有目录条目和数据目录。
  • 您可以使用 If exists 子句,这样就不会显示错误。
  • 您也可以使用 pgadmin 删除数据库。
  • dropdb 命令允许您在 PSQL 中远程删除数据库。