Partitionnement declaratif
PostgreSQL 🔴 SeniorDéfinition
PostgreSQL découpé une table logique en plusieurs tables physiques (partitions) selon une stratégie RANGE, LIST ou HASH déclarée via PARTITION BY. Chaque partition se crée avec CREATE TABLE ... PARTITION OF, et le partition pruning éliminé automatiquement les partitions non concernées par une requête.
Analogie
Comme classer des archives papier par année dans des cartons séparés plutôt que dans un seul immense classeur : on ne sort que le carton de l'année recherchée.
Exemple de code
CREATE TABLE measurement (
city_id int, logdate date, peaktemp int
) PARTITION BY RANGE (logdate);
CREATE TABLE measurement_y2026m01 PARTITION OF measurement
FOR VALUES FROM ('2026-01-01') TO ('2026-02-01');
Cas d'usage
Archiver ou purger de très grandes tables temporelles (logs, mesures) en droppant une partition entière en une opération instantanée.
Anti-pattern
Oublier d'inclure la colonne de partitionnement dans une contrainte UNIQUE/PRIMARY KEY : PostgreSQL l'exige.
Termes liés
Fiche mise à jour le 2026-09-27