Avancerad PostgreSQL: indexering, partitionering och replikering · Lektion

Konfigurera intervallpartitionering

Lär er att implementera intervallpartitionering genom att dela upp tabeller utifrån ett nyckelfälts intervall, vilket ofta används för tidsseriedata.

Lektion 2 av 411 steg

Konfigurera intervallpartitionering är en gratis lektion i Avancerad PostgreSQL: indexering, partitionering och replikering på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Avancerad PostgreSQL: indexering, partitionering och replikering, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Avancerad PostgreSQL: indexering, partitionering och replikering innehåller totalt 4 lektioner.

Introduktion till intervallpartitionering

Välkommen till intervallpartitionering! Den här tekniken delar upp en stor tabell i mindre, mer lätthanterliga delar som kallas partitioner.

Intervallpartitionering är särskilt användbar för data som har en naturlig ordning, till exempel tidsseriedata (t.ex. loggar och sensoravläsningar) eller data med sekventiella ID:n.

Så fungerar intervallpartitionering

Med intervallpartitionering fördelas rader till partitioner baserat på att värdet i en kolumn med en ”partitioneringsnyckel” faller inom ett angivet intervall.

  • Partitioneringsnyckel: Kolumnen som används för att avgöra vilken partition en rad tillhör (t.ex. tidsstämpeln created_at).
  • Intervall: Definierade gränser (t.ex. ”januari till mars” eller ”ID 1–1000”).

Skapa huvudtabellen

Först skapar du en huvudtabell (eller överordnad tabell). Den här tabellen definierar schemat för alla sina partitioner och anger partitioneringsstrategin.

Observera satsen PARTITION BY RANGE och partitioneringsnyckeln (event_date) i exemplet:

CREATE TABLE sensor_data (
  id SERIAL,
  event_date DATE NOT NULL,
  temperature NUMERIC,
  humidity NUMERIC
) PARTITION BY RANGE (event_date);

Definiera partitionsgränser

När huvudtabellen är skapad skapar du enskilda underordnade tabeller, som utgör de faktiska partitionerna. Varje underordnad tabell är kopplad till huvudtabellen och definierar sitt specifika intervall.

Satsen FOR VALUES FROM (...) TO (...) anger den nedre (inkluderande) och övre (exkluderande) gränsen för kolumnen event_date.

Skapa den första partitionen

Nu skapar vi en partition för data från januari 2023. Värdet för TO är exkluderande, så ”2023-02-01” betyder till och med, men inte inklusive, den 1 februari.

CREATE TABLE sensor_data_2023_01
PARTITION OF sensor_data
FOR VALUES FROM ('2023-01-01') TO ('2023-02-01');

Lägga till fler partitioner

Du kan skapa så många partitioner som behövs och täcka olika tidsperioder eller intervall. Det är vanligt att skapa partitioner för månader, kvartal eller år.

Här är en partition för data från februari 2023:

CREATE TABLE sensor_data_2023_02
PARTITION OF sensor_data
FOR VALUES FROM ('2023-02-01') TO ('2023-03-01');

Infoga data

När du infogar data i huvudtabellen sensor_data dirigerar PostgreSQL automatiskt varje rad till rätt underordnad partition baserat på dess event_date.

Du infogar data i den överordnade tabellen, inte direkt i de underordnade partitionerna:

INSERT INTO sensor_data (event_date, temperature, humidity)
VALUES
  ('2023-01-15', 22.5, 60),
  ('2023-02-10', 20.1, 65),
  ('2023-01-28', 23.0, 58);

Verifiera datafördelningen

Du kan fråga huvudtabellen som vanligt, så genomsöker PostgreSQL endast de relevanta partitionerna (en process som kallas ”partition pruning”).

Du kan också fråga en underordnad partition direkt för att se dess innehåll:

SELECT * FROM sensor_data_2023_01;

SELECT * FROM sensor_data_2023_02;

Lägga till framtida partitioner

När nya data anländer behöver du skapa nya partitioner. Det är en god vana att skapa framtida partitioner i förväg för att säkerställa att datainläsningen går utan avbrott.

Så här lägger du till en partition för mars 2023:

CREATE TABLE sensor_data_2023_03
PARTITION OF sensor_data
FOR VALUES FROM ('2023-03-01') TO ('2023-04-01');

Snabb kontroll

Du har konfigurerat en intervallpartitionerad tabell för sales_data baserat på sale_date. Huvudtabellen är sales_data, och du har skapat partitionen sales_q1_2023 för '2023-01-01' till '2023-04-01'.

Vilken av följande INSERT-satser i huvudtabellen sales_data skulle korrekt dirigera data till partitionen sales_q1_2023?

Sammanfattning och nästa steg

Du har lärt dig att implementera intervallpartitionering i PostgreSQL!

  • Intervallpartitionering delar upp tabeller efter en nyckels värdeintervall.
  • Du definierar en huvudtabell med PARTITION BY RANGE.
  • Underordnade tabeller skapas med PARTITION OF ... FOR VALUES FROM ... TO ....
  • Data infogas i huvudtabellen och dirigeras automatiskt.

Den här metoden passar utmärkt för hantering av stora, tidsordnade datamängder och förbättrar både frågeprestanda och dataunderhåll.

Gratis att börja

Lär dig Avancerad PostgreSQL: indexering, partitionering och replikering med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
11
Lektioner
44

Vanliga frågor

Är lektionen ”Konfigurera intervallpartitionering” gratis?

Ja – hela texten till ”Konfigurera intervallpartitionering” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Avancerad PostgreSQL: indexering, partitionering och replikering, kan Ni uppgradera till CoddyKit PRO. Kursen i Avancerad PostgreSQL: indexering, partitionering och replikering innehåller totalt 4 lektioner.

Vad lär jag mig i ”Konfigurera intervallpartitionering”?

Lär er att implementera intervallpartitionering genom att dela upp tabeller utifrån ett nyckelfälts intervall, vilket ofta används för tidsseriedata. Ni övar på Avancerad PostgreSQL: indexering, partitionering och replikering med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Avancerad PostgreSQL: indexering, partitionering och replikering?

Du behöver inga förkunskaper. Utbildningen i Avancerad PostgreSQL: indexering, partitionering och replikering på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Konfigurera intervallpartitionering”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Avancerad PostgreSQL: indexering, partitionering och replikering-lektionen?

Ja. Varje Avancerad PostgreSQL: indexering, partitionering och replikering-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Varför partitionering?
  2. Konfigurera intervallpartitionering
  3. Implementera listpartitionering
  4. Implementering av hashpartitionering
← Tillbaka till Avancerad PostgreSQL: indexering, partitionering och replikering