Geavanceerd PostgreSQL: indexering, partitionering en replicatie · Les

Subscriptions beheren

Stel subscriptions in op een standbyserver en beheer ze om wijzigingen uit een publication te ontvangen en toe te passen.

Les 3 van 411 stappen

Subscriptions beheren is een gratis Geavanceerd PostgreSQL: indexering, partitionering en replicatie-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Geavanceerd PostgreSQL: indexering, partitionering en replicatie. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Geavanceerd PostgreSQL: indexering, partitionering en replicatie bevat in totaal 4 lessen.

Wat is een logisch abonnement?

In de logische replicatie van PostgreSQL is een abonnement de ontvangende kant. Het wordt geconfigureerd op een abonneedatabase om verbinding te maken met een uitgeversdatabase en gegevenswijzigingen uit een specifieke publicatie op te halen.

Zie het als een abonnement op een krant. De uitgever maakt de krant (de publicatie) en jij (de abonnee) meldt je aan om deze te ontvangen.

De rol van de abonneedatabase

De server waarop je een abonnement maakt, wordt de abonnee. Deze server maakt verbinding met de uitgever, ontvangt de wijzigingen (invoegingen, updates, verwijderingen en afkappingen) en past ze toe op zijn lokale tabellen.

Het is cruciaal dat de tabellen op de abonnee dezelfde structuur hebben als de gepubliceerde tabellen op de hoofdserver, zodat replicatie correct werkt.

Een nieuw abonnement maken

Om gegevens te ontvangen gebruik je de opdracht CREATE SUBSCRIPTION. Je moet de verbindingsgegevens van de uitgever en de naam van de publicatie waarop je je wilt abonneren opgeven.

Deze opdracht wordt uitgevoerd in de database van de abonnee.

CREATE SUBSCRIPTION my_app_sub
CONNECTION 'dbname=source_db host=192.168.0.10 user=repl_user password=securepass'
PUBLICATION app_data_pub;

Essentiële opties voor abonnementen

Bij het maken van een abonnement bepalen verschillende opties het gedrag:

  • COPY_DATA: Als dit true is (standaard), worden bestaande gegevens uit de gepubliceerde tabellen gekopieerd.
  • ENABLED: Als dit true is (standaard), begint de replicatie onmiddellijk.
  • CREATE_SLOT: Als dit true is (standaard), wordt er een replicatieslot op de uitgever gemaakt.
  • SLOT_NAME: Je kunt een bestaande slotnaam opgeven in plaats van een nieuwe te maken.

Volledig voorbeeld van een abonnement

Maak een abonnement met de naam sales_replica. Het maakt verbinding met een uitgever op 10.0.0.5, met gebruiker repl_admin, voor de publicatie sales_publication.

We vragen expliciet om bestaande gegevens te kopiëren en het abonnement meteen in te schakelen.

-- Execute this on the subscriber database
CREATE SUBSCRIPTION sales_replica
CONNECTION 'dbname=sales_db host=10.0.0.5 user=repl_admin password=mysecret'
PUBLICATION sales_publication
WITH (copy_data = true, create_slot = true, enabled = true);

De status van een abonnement controleren

Na het maken van een abonnement wil je controleren of het correct werkt. PostgreSQL biedt hiervoor de weergave pg_stat_subscription.

Deze toont gegevens zoals verbindingsinformatie, de ingeschakelde status en de huidige replicatietoestand.

-- On the subscriber server
SELECT
  subname,
  subenabled,
  substate,
  subslotname,
  subconninfo
FROM pg_stat_subscription;

Abonnementen in- en uitschakelen

Je moet replicatie mogelijk tijdelijk pauzeren, bijvoorbeeld tijdens onderhoud of schem wijzigingen. Je kunt een abonnement in- of uitschakelen met ALTER SUBSCRIPTION.

  • DISABLE: Stopt het replicatieproces.
  • ENABLE: Hervat het replicatieproces.
-- Temporarily stop replication for 'sales_replica'
ALTER SUBSCRIPTION sales_replica DISABLE;

-- Resume replication
ALTER SUBSCRIPTION sales_replica ENABLE;

De publicatielijst vernieuwen

Als de uitgever nieuwe tabellen aan een publicatie toevoegt, begint de abonnee deze niet automatisch te repliceren. Je moet de abonnee opdracht geven om zijn informatie over de publicatie te vernieuwen.

De opdracht REFRESH PUBLICATION werkt de tabellijst van het abonnement bij.

-- Update 'sales_replica' to include any newly added tables
ALTER SUBSCRIPTION sales_replica REFRESH PUBLICATION;

Een abonnement verwijderen

Wanneer een abonnement niet meer nodig is, kun je het verwijderen. Deze opdracht wordt uitgevoerd op de abonneedatabase. Standaard probeert de opdracht ook het bijbehorende replicatieslot op de uitgever te verwijderen.

Zorg ervoor dat het abonnement is uitgeschakeld voordat je het verwijdert, om fouten te voorkomen.

-- First, disable the subscription if it's enabled
ALTER SUBSCRIPTION sales_replica DISABLE;

-- Then, drop the subscription
DROP SUBSCRIPTION sales_replica;

Controle van abonnementbeheer

Je hebt een abonnement met de naam user_data_sub dat actief gegevens repliceert. Je moet enkele schem wijzigingen uitvoeren op de abonnee en wilt de gegevensstroom tijdelijk stoppen zonder het abonnement volledig te verwijderen.

Samenvatting: subscriptions beheren

In deze les heb je geleerd hoe je subscriptions in PostgreSQL-logische replicatie beheert. Je kunt nieuwe subscriptions maken, hun status bewaken, ze voor onderhoud in- en uitschakelen, hun publicatielijst vernieuwen en ze ten slotte verwijderen wanneer je ze niet meer nodig hebt.

Als je deze opdrachten beheerst, kun je een robuuste en flexibele configuratie voor logische replicatie onderhouden.

Gratis beginnen

Leer Geavanceerd PostgreSQL: indexering, partitionering en replicatie met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
11
Lessen
44

Veelgestelde vragen

Is de les “Subscriptions beheren” gratis?

Ja — de volledige tekst van “Subscriptions beheren” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Geavanceerd PostgreSQL: indexering, partitionering en replicatie wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Geavanceerd PostgreSQL: indexering, partitionering en replicatie bevat in totaal 4 lessen.

Wat leer ik in “Subscriptions beheren”?

Stel subscriptions in op een standbyserver en beheer ze om wijzigingen uit een publication te ontvangen en toe te passen. Je oefent met Geavanceerd PostgreSQL: indexering, partitionering en replicatie door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Geavanceerd PostgreSQL: indexering, partitionering en replicatie te beginnen?

Ervaring vooraf is niet nodig. Geavanceerd PostgreSQL: indexering, partitionering en replicatie op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Subscriptions beheren”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Geavanceerd PostgreSQL: indexering, partitionering en replicatie?

Ja. Elke les over Geavanceerd PostgreSQL: indexering, partitionering en replicatie bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Basisbeginselen van logische replicatie
  2. Publications configureren
  3. Subscriptions beheren
  4. Conflictoplossing bij logische replicatie
← Terug naar Geavanceerd PostgreSQL: indexering, partitionering en replicatie