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 命令确定当前可用的数据库。
步骤 2) 要在 Postgres 中删除数据库,请输入命令:
drop database guru99
使用 \l 命令检查数据库是否已删除。
步骤 3) 再次尝试删除同一数据库,您将收到错误。
步骤 4) 使用 IF EXISTS 子句删除数据库,您将收到警告。
drop database IF EXISTS guru99
PostgreSQL PgAdmin(GUI)删除数据库
步骤 1) 右键单击数据库“guru99”,然后单击“删除/Drop”。
步骤 2) 在确认弹出窗口中单击“确定”。
数据库已删除。
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 中远程删除数据库。