从一个或多个超表中分离表空间。 这 *仅* 表示 *新的* 数据块不会放置在分离的表空间上。 例如,当表空间磁盘空间不足并且希望阻止在表空间中创建新数据块时,这非常有用。 分离的表空间本身以及其上具有数据的任何现有数据块保持不变,并像以前一样继续工作,包括可用于查询。 请注意,新插入的数据行仍可能插入到分离的表空间上的现有数据块中,因为不会从分离的表空间中清除现有数据。 如果需要,可以重新连接分离的表空间,以便再次考虑用于数据块放置。
名称 | 类型 | 描述 |
---|---|---|
tablespace | TEXT | 要分离的表空间。 |
当仅提供表空间名称作为参数时,给定的表空间将从当前角色具有适当权限的所有超表中分离。 因此,在没有适当权限的情况下,表空间可能在发出此命令后仍会接收新的数据块。
名称 | 类型 | 描述 |
---|---|---|
hypertable | REGCLASS | 要从中分离表空间的超表。 |
if_attached | BOOLEAN | 设置为 true 以避免在表空间未附加到给定表时引发错误。 而是发出通知。 默认为 false。 |
当指定特定的超表时,表空间仅从给定的超表中分离,因此可能仍附加到其他超表。
从超表 conditions
分离表空间 disk1
SELECT detach_tablespace('disk1', 'conditions');SELECT detach_tablespace('disk2', 'conditions', if_attached => true);
从当前用户有权访问的所有超表分离表空间 disk1
SELECT detach_tablespace('disk1');
关键词
在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页面。