„Декларативното разделяне на таблици“, което е разделяне като първокласна функция на СУБД със собствен синтаксис, беше добавен в PostgreSQL 10 .
В по-ранните версии можете да постигнете същия ефект с малко повече усилия, като използвате "наследяване на таблица". Има страница в ръководството, описваща как да направите това ръчно , обобщено като:
- Създайте "главната" таблица, от която ще наследят всички дялове.
- Създайте няколко „дъщерни“ таблици, всяка от които наследява от главната таблица.
- Добавете ограничения на таблицата към таблиците на дяловете, за да дефинирате разрешените стойности на ключове във всеки дял.
- За всеки дял създайте индекс на ключовата колона(и), както и всички други индекси, които бихте искали.
- По желание дефинирайте тригер или правило за пренасочване на данни, вмъкнати в главната таблица, към подходящия дял.
- Уверете се, че конфигурационният параметър constraint_exclusion не е деактивиран в postgresql.conf. Ако е така, заявките няма да бъдат оптимизирани по желание.
За да улесните това, ако не можете да надстроите до версия 10, можете да използвате разширение като pg_partman което ви дава допълнителни функции за настройка и управление на набори от дялове.