Réplication logique intégrée
À partir de la version 10 de PostgreSQL,
il est possible de mettre en place une réplication logique
sans outil supplémentaire, c’est-à-dire
sans utiliser Slony ou Londiste. Cette fonctionnalité s’appuie
sur les journaux de transactions enrichis et décodés
par les fonctions de décodage logique de PostgreSQL. Dans
le cas de la réplication logique, quelle que soit la technique,
on parle de « provider » pour
désigner l’instance qui fournit la donnée,
et de « subscriber » pour l’instance
la recevant.
Afin de permettre cette réplication,
il est nécessaire de modifier la valeur de la directive
de configuration wal_level à logical, au lieu de replica par défaut. Cette
modification nécessite un redémarrage de l’instance.
Une fois cette modification appliquée,
et le fichier pg_hba.conf adapté pour
accepter les connexions, les ordres CREATE
PUBLICATION et CREATE SUBSCRIPTION suivants
permettent de mettre en place un jeu de tables à répliquer,
puis de s’y abonner depuis une autre instance.
L’ordre suivant permet de créer
la publication, dans l’instance où les données des
tables sont modifiées :
CREATE PUBLICATION clients_repli FOR TABLE public.clients,
public.factures, public.prestations ;
Puis, depuis l’instance où les
données doivent être lues, ...