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 logique entre les serveurs principaux et les serveurs de secours a été introduite via le sync_replication_slots paramètre ou la pg_sync_replication_slots() fonction 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 sa réplique en lecture, ainsi qu'un abonné de réplication logique à l'instance principale.

Assurez-vous que l'abonnement est créé avec l'option failover définie sur true :

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

Cela crée un emplacement logique sur l'éditeur 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 logique de basculement sur le serveur principal sont automatiquement créés sur les emplacements 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_replicationdoit être 1 pour permettre la réplication logique

  • hot_standby_feedbackdoit être 1 en veille

  • rds.logical_slot_sync_dbnameen veille doit être défini sur un nom de base de données valide

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

  • synchronized_standby_slotssur le serveur principal doit être réglé sur le slot de réplication physique du serveur de secours destiné à être synchronisé

  • sync_replication_slotsdoit être 1 pour activer la synchronisation automatique

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