- PostgreSQL 教程
- PostgreSQL - 首页
- PostgreSQL - 概述
- PostgreSQL - 环境设置
- PostgreSQL - 语法
- PostgreSQL - 数据类型
- PostgreSQL - 创建数据库
- PostgreSQL - 选择数据库
- PostgreSQL - 删除数据库
- PostgreSQL - 创建表
- PostgreSQL - 删除表
- PostgreSQL - 模式
- PostgreSQL - INSERT 查询
- PostgreSQL - SELECT 查询
- PostgreSQL - 运算符
- PostgreSQL - 表达式
- PostgreSQL - WHERE 子句
- PostgreSQL - AND & OR 子句
- PostgreSQL - UPDATE 查询
- PostgreSQL - DELETE 查询
- PostgreSQL - LIKE 子句
- PostgreSQL - LIMIT 子句
- PostgreSQL - ORDER BY 子句
- PostgreSQL - GROUP BY
- PostgreSQL - WITH 子句
- PostgreSQL - HAVING 子句
- PostgreSQL - DISTINCT 关键字
- 高级 PostgreSQL
- PostgreSQL - 约束
- PostgreSQL - 连接
- PostgreSQL - UNION 子句
- PostgreSQL - NULL 值
- PostgreSQL - 别名语法
- PostgreSQL - 触发器
- PostgreSQL - 索引
- PostgreSQL - ALTER TABLE 命令
- TRUNCATE TABLE 命令
- PostgreSQL - 视图
- PostgreSQL - 事务
- PostgreSQL - 锁
- PostgreSQL - 子查询
- PostgreSQL - 自动递增
- PostgreSQL - 权限
- 日期/时间函数和运算符
- PostgreSQL - 函数
- PostgreSQL - 有用函数
- PostgreSQL 接口
- PostgreSQL - C/C++
- PostgreSQL - Java
- PostgreSQL - PHP
- PostgreSQL - Perl
- PostgreSQL - Python
- PostgreSQL 有用资源
- PostgreSQL - 快速指南
- PostgreSQL - 有用资源
- PostgreSQL - 讨论
PostgreSQL - 删除数据库
本章将讨论如何在PostgreSQL中删除数据库。删除数据库有两种方法:
- 使用DROP DATABASE SQL命令。
- 使用dropdb 命令行可执行文件。
在使用此操作之前务必小心,因为删除现有数据库会导致数据库中存储的全部信息丢失。
使用DROP DATABASE
此命令删除数据库。它删除数据库的目录条目并删除包含数据的目录。只有数据库所有者才能执行此命令。当您或其他任何人连接到目标数据库时,无法执行此命令(连接到postgres或任何其他数据库来发出此命令)。
语法
DROP DATABASE的语法如下所示:
DROP DATABASE [ IF EXISTS ] name
参数
下表列出了参数及其说明。
序号 | 参数及说明 |
---|---|
1 | IF EXISTS 如果数据库不存在,则不抛出错误。在这种情况下会发出通知。 |
2 | name 要删除的数据库的名称。 |
我们无法删除有任何打开连接的数据库,包括我们自己从psql或pgAdmin III的连接。如果要删除当前连接的数据库,必须切换到另一个数据库或template1。因此,使用程序dropdb可能更方便,它是一个围绕此命令的包装器。
示例
以下是一个简单的示例,它将从您的PostgreSQL模式中删除testdb:
postgres=# DROP DATABASE testdb; postgres-#
使用dropdb命令
PostgresSQL命令行可执行文件dropdb是SQL命令DROP DATABASE的命令行包装器。通过此实用程序删除数据库与通过其他访问服务器的方法之间没有实际区别。dropdb销毁现有的PostgreSQL数据库。执行此命令的用户必须是数据库超级用户或数据库所有者。
语法
dropdb的语法如下所示:
dropdb [option...] dbname
参数
下表列出了参数及其说明
序号 | 参数及说明 |
---|---|
1 | dbname 要删除的数据库的名称。 |
2 | option dropdb接受的命令行参数。 |
选项
下表列出了dropdb接受的命令行参数:
序号 | 选项及说明 |
---|---|
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 指定要连接到的数据库的名称,以便删除目标数据库。 |
示例
以下示例演示了从操作系统命令提示符删除数据库:
dropdb -h localhost -p 5432 -U postgress testdb Password for user postgress: ****
上述命令删除数据库testdb。在这里,我使用了postgres(位于template1的pg_roles下)用户名来删除数据库。