TimescaleDB 允许您将数据和索引移动到不同的表空间。这允许您在数据老化时将其移动到更具成本效益的存储。

move_chunk 函数的作用类似于 PostgreSQL CLUSTER 命令PostgreSQL ALTER TABLE...SET TABLESPACE 命令的组合。 然而,与这些 PostgreSQL 命令不同,move_chunk 函数使用较低的锁级别,以便在大部分过程中可以读取数据块和超表。 这样做会带来操作期间磁盘使用量略高的代价。 有关此功能的更详细讨论,请参阅有关 使用表空间管理存储 的文档。

注意

您必须以超级用户身份(例如 postgres 用户)登录才能使用 move_chunk() 调用。

名称类型描述
chunkREGCLASS要移动的数据块的名称
destination_tablespaceNAME要移动的数据块的目标表空间
index_destination_tablespaceNAME与您要移动的数据块关联的索引的目标表空间
名称类型描述
reorder_indexREGCLASS要排序的索引的名称(在超表或数据块上)
verboseBOOLEAN设置为 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 上编辑此页面