Konfigurera publikationer
Lär er att definiera publikationer på en master-server för att ange vilka tabeller och operationer som ska replikeras.
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 PUBLICATIONför att definiera dem. - Ni kan publicera
FOR ALL TABLESellerFOR TABLE specific_tables. - Satsdelen
WITH (publish = '...')låter er välja specifika operationer (insert, update, delete, truncate). - Ni kan hantera dem med
ALTER PUBLICATIONochDROP PUBLICATION.
Härnäst lär vi oss hur ni konfigurerar prenumerationer för att ta emot dessa ändringar!
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
- Grunderna i logisk replikering
- Konfigurera publikationer
- Hantera prenumerationer
- Konflikthantering i logisk replikering