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