获取与超表关联的数据块列表。

函数接受以下必需和可选参数。这些参数的语义与 drop_chunks function 相同。

名称类型描述
relationREGCLASS从中选择数据块的超表或连续聚合。
名称类型描述
older_thanANY截止点的规范,任何早于此时间戳的数据块都应显示。
newer_thanANY截止点的规范,任何晚于此时间戳的数据块都应显示。
created_beforeANY截止点的规范,任何在此时间戳之前创建的数据块都应显示。
created_afterANY截止点的规范,任何在此时间戳之后创建的数据块都应显示。

older_thannewer_than 参数可以通过两种方式指定

  • 时间间隔类型: 截止点计算为 now() - older_than,类似地,now() - newer_than。如果提供 INTERVAL 且时间列不是 TIMESTAMP、TIMESTAMPTZ 或 DATE 类型,则会返回错误。

  • 时间戳、日期或整数类型: 截止点显式地给出为 TIMESTAMP / TIMESTAMPTZ / DATE 或 SMALLINT / INT / BIGINT。时间戳或整数的选择必须遵循超表时间列的类型。

created_beforecreated_after 参数可以通过两种方式指定

  • 时间间隔类型: 截止点计算为 now() - created_before,类似地,now() - created_after。这使用数据块创建时间进行过滤。

  • 时间戳、日期或整数类型: 截止点显式地给出为 TIMESTAMP / TIMESTAMPTZ / DATESMALLINT / INT / BIGINT。整数值的选择必须遵循超表分区列的类型。否则,数据块创建时间将用于过滤。

当同时使用 older_thannewer_than 参数时,该函数返回两个结果范围的交集。例如,指定 newer_than => 4 monthsolder_than => 3 months 会显示所有介于 3 到 4 个月之间的数据块。类似地,指定 newer_than => '2017-01-01'older_than => '2017-02-01' 会显示所有介于 '2017-01-01' 和 '2017-02-01' 之间的数据块。指定不会导致两个范围之间重叠交集的参数会导致错误。

当同时使用 created_beforecreated_after 参数时,该函数返回两个结果范围的交集。例如,指定 created_after=> 4 monthscreated_before=> 3 months 会显示所有在从现在起 3 到 4 个月之间创建的数据块。类似地,指定 created_after=> '2017-01-01'created_before => '2017-02-01' 会显示所有在 '2017-01-01' 和 '2017-02-01' 之间创建的数据块。指定不会导致两个范围之间重叠交集的参数会导致错误。

注意

created_before/created_after 参数不能与 older_than/newer_than 一起使用。

获取与表关联的所有数据块的列表

SELECT show_chunks('conditions');

获取超表 conditions 中早于 3 个月的所有数据块

SELECT show_chunks('conditions', older_than => INTERVAL '3 months');

获取超表 conditions 中在 3 个月前创建的所有数据块

SELECT show_chunks('conditions', created_before => INTERVAL '3 months');

获取超表 conditions 中在最近 1 个月内创建的所有数据块

SELECT show_chunks('conditions', created_after => INTERVAL '1 month');

获取超表 conditions 中在 2017 年之前的所有数据块

SELECT show_chunks('conditions', older_than => DATE '2017-01-01');

关键词

在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页