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 上 编辑此页面