Avancerad PostgreSQL: indexering, partitionering och replikering · Lektion

Konfigurera publikationer

Lär er att definiera publikationer på en master-server för att ange vilka tabeller och operationer som ska replikeras.

Lektion 2 av 411 steg

Konfigurera publikationer ä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.

Vad är publikationer?

Välkomna! I PostgreSQL:s logiska replikering fungerar en publikation som en kanal på huvudservern som sänder dataändringar.

Den definierar vilka data (vilka tabeller) och vilka operationer (INSERT, UPDATE, DELETE, TRUNCATE) som ska replikeras till prenumererande servrar.

Tänk på det som att starta en TV-kanal: ni bestämmer vilka program som ska sändas och när.

Grundläggande konfiguration av en publikation

Det är enkelt att skapa en publikation med kommandot CREATE PUBLICATION. Vi börjar med den enklaste formen.

Detta skapar en publikation som ännu inte publicerar några tabeller, men som är klar att konfigureras.

CREATE PUBLICATION my_first_pub;

Publicera alla tabeller

Om ni vill replikera alla tabeller i den aktuella databasen (samt nya tabeller som skapas senare) kan ni använda satsdelen FOR ALL TABLES.

Detta är praktiskt när ni vill replikera ett helt databasschema.

CREATE PUBLICATION all_db_changes FOR ALL TABLES;

Publicera specifika tabeller

Ofta behöver ni bara replikera en delmängd av tabellerna. Ni kan ange dessa tabeller direkt med satsdelen FOR TABLE.

Den här publikationen sänder endast ändringar från tabellerna users och products.

CREATE PUBLICATION sales_data_pub FOR TABLE users, products;

Dynamiskt kontra statiskt

Det finns en viktig skillnad mellan FOR ALL TABLES och att lista tabeller med FOR TABLE:

  • FOR ALL TABLES: Inkluderar dynamiskt alla aktuella och framtida tabeller i databasen.
  • FOR TABLE table1, table2: Anger statiskt specifika tabeller. Nya tabeller måste läggas till manuellt.

Välj utifrån era replikeringsbehov!

Replikera specifika operationer

Publikationer kan konfigureras så att endast vissa typer av dataändringar replikeras. Som standard replikeras INSERT, UPDATE, DELETE och TRUNCATE.

Ni kan använda satsdelen WITH (publish = '...') för att välja specifika operationer. Här replikerar vi endast INSERT-satser.

CREATE PUBLICATION new_orders_only FOR TABLE orders WITH (publish = 'insert');

Kombinera operationer

Om ni vill replikera flera, men inte alla, operationstyper kan ni lista dem separerade med kommatecken i alternativet publish.

Den här publikationen replikerar operationerna INSERT, UPDATE och DELETE, men inte TRUNCATE.

CREATE PUBLICATION user_activity FOR TABLE user_logs WITH (publish = 'insert, update, delete');

Visa publikationer

Vill ni se vilka publikationer som är aktiva på servern? PostgreSQL lagrar denna information i sina systemkataloger.

Ni kan fråga vyn pg_publication för att få information om varje publikation, inklusive vilka operationer den publicerar.

SELECT pubname, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate FROM pg_publication;

Hantera publikationer

Ni kan ändra en befintlig publikation genom att lägga till eller ta bort tabeller, eller ta bort publikationen helt om den inte längre behövs.

  • ALTER PUBLICATION ADD TABLE: Lägg till tabeller.
  • ALTER PUBLICATION DROP TABLE: Ta bort tabeller.
  • DROP PUBLICATION: Ta bort en publikation.
ALTER PUBLICATION sales_data_pub ADD TABLE accounts;
ALTER PUBLICATION sales_data_pub DROP TABLE products;
DROP PUBLICATION sales_data_pub;

Frågor om publikationskonfiguration

Vilka av följande satser konfigurerar en publikation korrekt i PostgreSQL?

Sammanfattning: konfigurera publikationer

Bra jobbat! Ni har lärt er att definiera publikationer i PostgreSQL.

  • Publikationer sänder dataändringar för logisk replikering.
  • Använd CREATE PUBLICATION för att definiera dem.
  • Ni kan publicera FOR ALL TABLES eller FOR TABLE specific_tables.
  • Satsdelen WITH (publish = '...') låter er välja specifika operationer (insert, update, delete, truncate).
  • Ni kan hantera dem med ALTER PUBLICATION och DROP PUBLICATION.

Härnäst lär vi oss hur ni konfigurerar prenumerationer för att ta emot dessa ändringar!

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 publikationer” gratis?

Ja – hela texten till ”Konfigurera publikationer” 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 publikationer”?

Lär er att definiera publikationer på en master-server för att ange vilka tabeller och operationer som ska replikeras. 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 publikationer”?

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. Grunderna i logisk replikering
  2. Konfigurera publikationer
  3. Hantera prenumerationer
  4. Konflikthantering i logisk replikering
← Tillbaka till Avancerad PostgreSQL: indexering, partitionering och replikering