PostgreSQL 删除数据库
Drop/Delete命令用于从 PostgreSQL 平台永久删除所有文件条目和数据目录。因此,我们必须非常小心地使用这个命令。
在本节中,我们将学习如何删除或删除PostgreSQL中不再需要的数据库。
在 PostgreSQL 中,我们可以通过两种方式删除数据库:
- 删除数据库 PgAdmin
- 使用 SQL Shell 删除数据库
删除数据库 PgAdmin(图形用户界面)
要在 pgAdmin 中创建数据库,我们将按照以下步骤操作:
第1步:
- 首先,我们将在本地系统中打开 pgAdmin。
- 通过左键单击数据库 (Javatpoint) 选择它。
- 然后右键单击Javatpoint
- 之后,从给定的下拉列表中单击删除/删除选项以删除数据库。
第2步
- 单击“删除/删除”选项后,屏幕上将出现一个确认弹出窗口,我们在此处单击“是”按钮以删除数据库。
查看结果
- 只要我们单击“是”按钮,数据库就会立即从记录中删除。
使用 SQL Shell 删除数据库(命令行)
在此,我们将在SQL Shell(命令行)中删除数据库。
删除数据库的语法如下:
DROP DATABASE [ IF EXISTS] name;
其中命令包含以下参数:
参数 | 描述 |
---|---|
如果存在 | 它是一个可选参数;如果数据库不存在,则在错误位置显示警告。 |
姓名 | 在这里,我们将引用要删除它的数据库名称。 |
现在,我们将在命令行中使用此命令:
第1步:
- 打开SQL shell并键入以下命令以查看现有数据库。
\l
结果为:
第2步
- 为了删除数据库,我们将输入以下命令:
Drop database Javatpoint;
- 使用上述命令时,我们可能会遇到以下错误:
ERROR: database "Javatpoint" is being accessed by other users
Detail: There is 1 other session using the database.
要删除Javatpoint数据库,我们需要遵循以下过程:
- 首先,我们必须借助以下命令撤销连接:
REVOKE CONNECT ON DATABASE Javatpoint from public;
- 然后按回车键。
- 一旦连接被撤销,我们将输入以下查询:
SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'Javatpoint';
- 然后输入drop database 查询并使用\l命令验证数据库是否被删除,如下图所示:
第3步:
- 如果我们尝试再次删除同一个数据库,我们将收到以下错误,如下面的屏幕截图所示:
第4步
- 然后我们将删除具有IF 存在条件的数据库,我们会收到以下警告:
使用 dropdb 命令
在 PostgreSQL 中,dropdb是一个命令行可执行命令,涵盖了 SQL drop database 命令。此命令只能由作为数据库所有者或数据库超级用户的最终用户运行。我们可以借助 dropdb 语句远程删除数据库。
dropdb的语法如下:
参数 | 描述 |
---|---|
-e | 这里的e表示Echo,用于创建并发送给服务器。 |
-i | 它用于在执行任何致命作业之前显示验证提示。 |
--help | 它允许我们帮助 dropdb 命令行语句。 |
-h host | 它定义了系统主机的名称,服务器直接在其中执行。 |
-p port | 此选项定义 Unix 域套接字文件扩展名,服务器在其中创建连接。 |
-V | 我们可以使用 -V 选项来打印 dropdb 版本。 |
-U username | 它用于显示用户名。 |
-w | 如果我们不需要密码屏幕,我们可以使用此选项。 |
maintenance db-=dbname | 要连接数据库以删除目标数据库,我们将使用此选项来描述数据库名称。 |
--if exists | 如果数据库不存在,此选项将显示错误而不是警告。 |
-W | 此选项用于在删除数据库之前提示输入密码。 |
让我们看一个从操作系统命令提示符删除数据库的示例:
dropdb -h localhost -p 5432 -U postgress javatpoint
Password for user postgress: ****
在这里,我们将使用 Postgres 用户名来删除数据库。上面的命令删除了javatpoint数据库。
热门文章
优秀文章