Gestion de la synchronisation des emplacements logiques pour RDS pour PostgreSQL - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion de la synchronisation des emplacements logiques pour RDS pour PostgreSQL

Depuis la version communautaire de PostgreSQL 17, une nouvelle fonctionnalité permettant de synchroniser automatiquement les emplacements de réplication logiques entre les serveurs principaux et les serveurs de secours a été introduite via le paramètre sync_replication_slots ou la fonction pg_sync_replication_slots() associée, qui synchronise manuellement les emplacements lors de l’exécution.

Ces fonctionnalités sont disponibles à partir de RDS pour PostgreSQL 17. Une configuration typique comporte une instance principale et son réplica en lecture, ainsi qu’un abonné de réplication logique à l’instance principale.

Assurez-vous que l’abonnement est créé avec l’option de basculement définie sur true :

CREATE SUBSCRIPTION subname CONNECTION 'host=...' PUBLICATION pubname WITH (failover = true);

Cela crée un emplacement logique sur le diffuseur de publication avec le basculement activé.

postgres=> SELECT slot_name, slot_type, failover FROM pg_catalog.pg_replication_slots; slot_name | slot_type | failover -----------+-----------+---------- subname | logical | t (1 row)

En activant la synchronisation des emplacements, tous les emplacements de réplication logiques de basculement sur l’instance principale sont automatiquement créés sur les instances de secours physiques et sont synchronisés périodiquement. Assurez-vous que les valeurs suivantes ont été définies par le biais de groupes de paramètres :

  • rds.logical_replication doit être égal à 1 pour activer la réplication logique

  • hot_standby_feedback doit être égal à 1 sur l’instance de secours

  • rds.logical_slot_sync_dbname sur l’instance de secours doit être défini sur un nom de base de données valide

    La valeur par défaut du paramètre est postgres. Si l’instance de publication logique possède la base de données postgres, il n’est pas nécessaire de modifier le paramètre par défaut.

  • synchronized_standby_slots sur l’instance principale doit être réglé sur l’emplacement de réplication physique de l’instance de secours destinée à être synchronisée

  • sync_replication_slots doit être égal à 1 pour activer la synchronisation automatique

Avec un emplacement d’abonnement activé par le basculement et les valeurs de paramètres ci-dessus, lorsqu’une instance de secours est promue, l’abonné peut modifier son abonnement à cette instance nouvellement promue et poursuivre la réplication logique de manière fluide.