Gestione della sincronizzazione degli slot logici per RDS per PostgreSQL - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione della sincronizzazione degli slot logici per RDS per PostgreSQL

A partire dalla community PostgreSQL 17, è stata introdotta una nuova funzionalità per sincronizzare automaticamente gli slot di replica logica dai server primari a quelli di standby tramite il sync_replication_slots parametro o la funzione pg_sync_replication_slots() correlata, che sincronizza manualmente gli slot in esecuzione.

Queste funzionalità sono disponibili a partire da RDS per PostgreSQL 17. Una configurazione tipica prevede un'istanza principale e la relativa replica di lettura, oltre a un abbonato di replica logica alla principale.

Assicurati che l'abbonamento sia creato con l'opzione di failover impostata su true:

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

In questo modo viene creato uno slot logico sull'editore con il failover abilitato.

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

Abilitando la sincronizzazione degli slot, tutti gli slot di replica logica di failover del sistema primario vengono creati automaticamente negli standby fisici e sincronizzati periodicamente. Assicuratevi che i seguenti valori siano stati impostati tramite gruppi di parametri:

  • rds.logical_replicationdeve consentire 1 la replica logica

  • hot_standby_feedbackdeve essere 1 in standby

  • rds.logical_slot_sync_dbnamein standby deve essere impostato su un nome di database valido

    Il valore predefinito del parametro èpostgres. Se l'istanza di pubblicazione logica dispone del postgres database, non è necessario modificare il parametro predefinito.

  • synchronized_standby_slotssul primario deve essere impostato sullo slot di replica fisico dello standby destinato alla sincronizzazione

  • sync_replication_slotsdeve consentire la 1 sincronizzazione automatica

Con uno slot di abbonamento abilitato al failover e i valori dei parametri sopra indicati, quando viene promosso uno standby, l'abbonato può modificare il proprio abbonamento a questa nuova istanza promossa e continuare la replica logica senza problemi.