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).

Другие вопросы по тегам