TimescaleDB 允许您将数据和索引移动到不同的表空间。这允许您在数据老化时将其移动到更具成本效益的存储。
move_chunk
函数的作用类似于 PostgreSQL CLUSTER 命令 和 PostgreSQL ALTER TABLE...SET TABLESPACE 命令的组合。 然而,与这些 PostgreSQL 命令不同,move_chunk
函数使用较低的锁级别,以便在大部分过程中可以读取数据块和超表。 这样做会带来操作期间磁盘使用量略高的代价。 有关此功能的更详细讨论,请参阅有关 使用表空间管理存储 的文档。
注意
您必须以超级用户身份(例如 postgres
用户)登录才能使用 move_chunk()
调用。
名称 | 类型 | 描述 |
---|---|---|
chunk | REGCLASS | 要移动的数据块的名称 |
destination_tablespace | NAME | 要移动的数据块的目标表空间 |
index_destination_tablespace | NAME | 与您要移动的数据块关联的索引的目标表空间 |
名称 | 类型 | 描述 |
---|---|---|
reorder_index | REGCLASS | 要排序的索引的名称(在超表或数据块上) |
verbose | BOOLEAN | 设置为 true 会显示有关 move_chunk 命令进度的消息。默认为 false。 |
SELECT move_chunk(chunk => '_timescaledb_internal._hyper_1_4_chunk',destination_tablespace => 'tablespace_2',index_destination_tablespace => 'tablespace_3',reorder_index => 'conditions_device_id_time_idx',verbose => TRUE);
关键词
在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页面。