postgresql Postgress pg_partman每周分区,更改周开始日

oipij1gg  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(120)

我在PostgreSQL DB上使用pg_partman,为每周数据创建自动分区。周总是从星期一到星期一创建。
这是我正在使用的查询:

SELECT partman.create_parent(p_parent_table => 'schema.table',
                             p_control => 'start_week_date',
                             p_type => 'native',
                             p_interval => 'weekly',
                             p_premake => 1);

这是pg_partman生成的DDL:

partition of table
(
    constraint table_p2021_09_pkey
        primary key (id, start_week_date)
)
FOR VALUES FROM ('2021-10-25') TO ('2021-11-01');

我想从星期六到星期六分区。这可能吗?

alen0pnh

alen0pnh1#

您可以通过将p_start_partition设置为星期六来获得您想要的内容。参见文档中的p_date_trunc_interval
默认情况下,pg_partman的基于时间的分区将截断子表的起始值,使其在典型边界的开始处对齐(每日午夜,每月第1天,每年1月1日等)。如果需要不落在这些边界上的自定义时间间隔,则可能需要此选项以确保子表具有预期的边界(特别是如果还设置了p_start_partition)。

相关问题