Sommaire

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, ...