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
