Postgresql 简明教程

PostgreSQL - DROP Database

在本章中,我们将讨论如何删除PostgreSQL中的数据库。有两种选择可以删除数据库:-

  1. 使用DROP DATABASE,这是一条SQL命令。

  2. 使用dropdb一个命令行可执行文件。

Using DROP DATABASE

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

Syntax

DROP DATABASE 语法如下 −

DROP DATABASE [ IF EXISTS ] name

Parameters

该表列出了参数及其描述。

S. No.

Parameter & Description

1

IF EXISTS 如果数据库不存在,不要抛出错误。在这种情况下,会发出通知。

2

name 要删除的数据库的名称。

Example

以下是一个简单的示例,它将从 PostgreSQL 架构中删除 testdb

postgres=# DROP DATABASE testdb;
postgres-#

Using dropdb Command

PostgresSQL 命令行可执行文件 dropdb 是对 SQL 命令 DROP DATABASE 的命令行包装器。通过此实用工具和通过其他方法访问服务器来删除数据库之间没有实际差异。dropdb 摧毁了一个现有的 PostgreSQL 数据库。执行此命令的用户必须是数据库超级用户或数据库的所有者。

Syntax

dropdb 的语法如下所示 −

dropdb  [option...] dbname

Parameters

下表列出了参数及其描述

S. No.

Parameter & Description

1

dbname 要删除的一个数据库的名称。

2

option 命令行参数,dropdb 接受这些参数。

Options

下表列出了命令行参数 dropdb 接受这些参数 −

S. No.

Option & Description

1

-e 显示发送到服务器的命令。

2

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

3

-V 打印 dropdb 版本并退出。

4

--if-exists 如果数据库不存在,不要抛出错误。在这种情况下,会发出通知。

5

--help 显示有关 dropdb 命令行参数的帮助,并退出。

6

-h host 指定服务器运行所在的机器的主机名。

7

-p port 指定服务器侦听连接的 TCP 端口或本地 UNIX 域套接字文件扩展名。

8

-U username 连接时的用户名。

9

-w 绝不发出密码提示。

10

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

11

--maintenance-db=dbname 指定要连接到的数据库的名称,以删除目标数据库。

Example

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

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

以上命令丢弃了数据库 testdb 。此处,我使用了 postgres (在 template1 的 pg_roles 下找到)用户名来丢弃数据库。