在服务上启用分层存储后,超表中的各个块可以分层到对象存储层。
在开始之前,您需要一个要分层的块列表。在本例中,您使用一个名为 example 的超表,并将超过三天前的块分层。对象存储层上的数据无法修改 - 因此,插入、更新和删除操作不会在分层数据上执行。因此,请确保您不是将正在主动修改的数据分层到对象存储层。
在 psql 提示符下,选择表
example
中所有超过三天前的块。SELECT show_chunks('example', older_than => INTERVAL '3 days');这将返回一个块列表。记下块名称。
|1|_timescaledb_internal_hyper_1_2_chunk||2|_timescaledb_internal_hyper_1_3_chunk|
当您对块列表感到满意时,您可以使用 tier_chunk
函数手动分层每个块。
在 psql 提示符下,分层块。
SELECT tier_chunk( '_timescaledb_internal_hyper_1_2_chunk');分层块是一个异步过程,它将调度块进行分层。
对您要分层的每个块重复此操作。
信息
分层块会将块调度到对象存储层,但不会立即分层。分层可能需要一些时间才能完成。您可以在迁移期间继续查询块。
要查看哪些块已分层到对象存储层,请使用 tiered_chunks
信息视图。
SELECT * FROM timescaledb_osm.tiered_chunks;
块是异步分层的。块一次分层一个,以最大限度地减少分层过程期间的数据库资源消耗。您可以使用此视图查看已调度分层的块(通过策略或通过对 tier_chunk
的手动调用),但尚未移动到对象存储层。
SELECT * FROM timescaledb_osm.chunks_queued_for_tiering ;
如果您需要取消分层数据,请参阅 手动取消分层数据 部分。
大多数用户不需要手动分层块,而是创建一个 分层策略 来自动化块分层时间。
关键词
在此页面上发现问题了吗?报告问题 或 在 GitHub 上编辑此页面。