Schnellere Abfragen, einfachere Wartung großer Tabellen.
Range-Partitionierung¶
CREATE TABLE orders (
id SERIAL,
created_at TIMESTAMPTZ NOT NULL,
total DECIMAL
) PARTITION BY RANGE (created_at);
CREATE TABLE orders_2024_q1 PARTITION OF orders
FOR VALUES FROM ('2024-01-01') TO ('2024-04-01');
List-Partitionierung¶
CREATE TABLE logs (id SERIAL, level TEXT, message TEXT)
PARTITION BY LIST (level);
CREATE TABLE logs_error PARTITION OF logs
FOR VALUES IN ('error','fatal');
pg_partman¶
CREATE EXTENSION pg_partman;
SELECT partman.create_parent('public.orders','created_at','native','monthly');
- 100M+ Zeilen
- Zeitreihendaten
- DROP PARTITION statt DELETE
Partitionierung für große Tabellen¶
Beschleunigt Abfragen und vereinfacht die Wartung.
postgresqlpartitioningperformance