"Deklarativ tabelpartitionering", det vil sige partitionering som en førsteklasses funktion i DBMS med sin egen syntaks, var tilføjet i PostgreSQL 10 .
I tidligere versioner kan du opnå den samme effekt med lidt mere indsats ved at bruge "bordarv". Der er en side i manualen, der beskriver, hvordan man gør dette manuelt , opsummeret som:
- Opret "master"-tabellen, som alle partitionerne vil arve fra.
- Opret flere "underordnede" tabeller, som hver arver fra mastertabellen.
- Tilføj tabelbegrænsninger til partitionstabellerne for at definere de tilladte nøgleværdier i hver partition.
- For hver partition skal du oprette et indeks på nøglekolonnen(e) såvel som andre indekser, du måtte ønske.
- Definer eventuelt en trigger eller regel for at omdirigere data indsat i mastertabellen til den relevante partition.
- Sørg for, at konfigurationsparameteren constraint_exclusion ikke er deaktiveret i postgresql.conf. Hvis det er det, vil forespørgsler ikke blive optimeret som ønsket.
For at gøre dette lettere, hvis du ikke kan opgradere til version 10, kan du bruge en udvidelse såsom pg_partman som giver dig yderligere funktioner til opsætning og styring af partitionssæt.