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