Declaratieve partitionering
Een tabel opsplitsen op een sleutelwaarde met echte syntaxis in plaats van met overerving, triggers en constraints. Kwam in PostgreSQL 10 en maakte de functie bruikbaar.
Vóór versie 10 werd partitionering met de hand in elkaar gezet: een bovenliggende tabel, kindtabellen die ervan erfden, een CHECK-constraint op elk kind zodat de planner het kon uitsluiten, en een trigger die inserts naar de juiste plek leidde. Het werkte, en het ging op tien manieren stuk. Nu staat PARTITION BY RANGE, LIST of HASH gewoon in de tabeldefinitie. Twee voordelen zijn echt: een maand aan data weggooien wordt een directe DROP in plaats van een DELETE die een opgeblazen tabel achterlaat, en dankzij pruning raken query's met een datumfilter alleen de partities die iets kunnen bevatten. De adder onder het gras is uniciteit: een unieke index moet de partitiesleutel bevatten.