Автономное разбиение pg_partman перемещает 0 строк на последнем шаге, несмотря на идентичные исходную и целевую таблицы

Я следил за официальной документацией для pg_partman, в частности, разделяя существующую таблицу с помощью автономного разделения (https://github.com/pgpartman/pg_partman/blob/master/doc/pg_partman_howto_native.md).

Причина этого изменения заключается в том, что мы хотели перейти от разделения списка на основе идентификатора к разделению по месячному диапазону в новом столбце timestamptz.

Моя исходная и целевая таблицы практически идентичны. Единственное изменение, которое я сделал, это то, что столбец раздела изменился с идентификатора (с использованием разделения по списку) на недавно созданный столбец timestamptz (с использованием разделения по диапазону), однако этот новый столбец теперь существует как в исходной, так и в целевой таблицах.

Моя проблема запущена

      CALL partman.partition_data_proc(p_parent_table := 'public.partitioned_table', p_interval := '1000', p_batch := 200, p_source_table := 'public.nonpartitioned_table');

производит следующий вывод:

      Total rows moved: 0
Ensure to VACUUM ANALYZE the parent (and source table if used) after partitioning data

Несмотря на то, что исходная таблица содержит сотни тысяч строк для перемещения.

Есть ли способ включить подробную отладку или узнать, почему этот процесс не перемещает строки?

Редактировать:

Тестирование прямой вставки/выборки переместило данные нормально, но это кажется плохим способом сделать что-то.

      insert into public.partitioned_table select * from public.nonpartitioned_table;

0 ответов

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