Postgress pg_partman еженедельное разбиение на разделы, изменение дня начала недели
Я использую pg_partman в базе данных PostgreSQL для создания автоматического разделения для еженедельных данных. Недели всегда создаются с понедельника по понедельник.
Я использую этот запрос:
SELECT partman.create_parent(p_parent_table => 'schema.table',
p_control => 'start_week_date',
p_type => 'native',
p_interval => 'weekly',
p_premake => 1);
Это DDL, созданный pg_partman:
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 ответ
Возможно, вы сможете получить то, что хотите, установивp_start_partition
быть суббота. Видетьp_date_trunc_interval
в документации :
По умолчанию секционирование pg_partman по времени усекает начальные значения дочерней таблицы, чтобы выровнять их по началу типичных границ (полночь для дня, 1 день для месяца, 1 января для года и т. д.). Если требуется пользовательский интервал времени, не попадающий в эти границы, эта опция может потребоваться, чтобы гарантировать, что дочерняя таблица имеет ожидаемые границы (особенно, если вы также установили p_start_partition).