Хабы: Блог компании АО «ГНИВЦ», PostgreSQL
Добрый день, коллеги! Как известно, компания "Postgres Professional" более не рекомендует использовать секционирование с использованием pg_pathman, а рекомендует использовать вместо него декларативное секционирование. Однако помимо синтаксического сахара и утилитарного кода по поддержке интервального (в стиле Oracle) секционирования, я обнаружил для себя ещё одну проблему в такой миграции (переходе). Надеюсь, коллеги из PGPro доработают декларативное секционирование к моменту окончательного выпиливания pg_pathman.
Эксперименты проводились на PostgresPro Ent 15.3 c расширением pg_pathman от того же pgPro.
Как известно, partition pruning является одной из самых востребованных техник по оптимизации производительности для секционированных таблиц. В более или менее сложных системах вряд ли удастся обойтись без так называемого "dynamic partition pruning", т.е. ситуаций, когда секции, которые можно откинуть, известны только в runtime (момент исполнения).
Давайте посмотрим, как обстоят дела с "dynamic partition pruning" у декларативного и pg_pathman секционирования.
Проведем тест:
для начала создадим 2 секционированные таблички: одна использует декларативное секционирование, вторая секционирование при помощи pg_pathman.
Табличка buh_operations секционирована по RANGE с использованием декларативного секционирования.
Читать далее