Module V0
Dalibo SCOP
24.09
29 août 2024
Cette formation est sous licence CC-BY-NC-SA. Vous êtes libre de la redistribuer et/ou modifier aux conditions suivantes :
PostgreSQL® Postgres® et le logo Slonik sont des marques déposées par PostgreSQL Community Association of Canada.
Ce document ne couvre que les versions supportées de PostgreSQL au moment de sa rédaction, soit les versions 12 à 16.
Le partitionnement déclaratif apparaît avec PostgreSQL 10
Préférer PostgreSQL 13 ou plus récent
Ne plus utiliser l’ancien partitionnement par héritage.
VACUUM
FULL
pg_dump
CREATE TABLE t1(c1 integer, c2 text) PARTITION BY LIST (c1) ; CREATE TABLE t1_a PARTITION OF t1 FOR VALUES IN (1, 2, 3) ; CREATE TABLE t1_b PARTITION OF t1 FOR VALUES IN (4, 5) ; …
CREATE TABLE logs ( d timestamptz, contenu text) PARTITION BY RANGE (d) ; CREATE TABLE logs_201901 PARTITION OF logs FOR VALUES FROM ('2019-01-01') TO ('2019-02-01'); CREATE TABLE logs_201902 PARTITION OF logs FOR VALUES FROM ('2019-02-01') TO ('2019-03-01'); … CREATE TABLE logs_201912 PARTITION OF logs FOR VALUES FROM ('2019-12-01') TO ('2020-01-01'); … CREATE TABLE logs_autres PARTITION OF logs DEFAULT ; -- pour ne rien perdre
CREATE TABLE t3(c1 integer, c2 text) PARTITION BY HASH (c1); CREATE TABLE t3_a PARTITION OF t3 FOR VALUES WITH (modulus 3,remainder 0); CREATE TABLE t3_b PARTITION OF t3 FOR VALUES WITH (modulus 3,remainder 1); CREATE TABLE t3_c PARTITION OF t3 FOR VALUES WITH (modulus 3,remainder 2);
DROP
DETACH
ALTER TABLE logs ATTACH PARTITION logs_archives FOR VALUES FROM (MINVALUE) TO ('2019-01-01') ;
ALTER TABLE logs DETACH PARTITION logs_archives ;
DROP TABLE logs_2018 ;
https://dali.bo/v0_quiz