DROP TABLESPACE
是一个用于删除表空间的 DDL 命令。
DROP TABLESPACE
在 PostgreSQL 8.0 中添加。
用法
DROP TABLESPACE
只能在表空间不包含任何数据库中的对象时执行。因此,没有 DROP TABLESPACE ... CASCADE
选项,因为一个数据库中的命令不可能选择性地操作另一个数据库中的对象。
系统函数 pg_tablespace_databases()
可用于验证表空间是否包含任何对象,如果包含,则验证它们属于哪个数据库。请参阅该函数的示例部分以获取示例查询。
更改历史记录
- PostgreSQL 8.2
- 添加了
DROP TABLESPACE IF EXISTS ...
语法 (提交 bbcd0169)
- 添加了
- PostgreSQL 8.0
- 添加 (提交 2467394e)
示例
删除空表空间
postgres=# DROP TABLESPACE tblspace_2; DROP TABLESPACE
尝试删除仍包含对象的表空间
postgres=# DROP TABLESPACE tblspace_1; ERROR: tablespace "tblspace_1" is not empty
尝试删除不存在的表空间
postgres=# DROP TABLESPACE foo; ERROR: tablespace "foo" does not exist
参考
- PostgreSQL 文档: DROP TABLESPACE