Gestione della sincronizzazione degli slot logici RDS per Postgre SQL - 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 RDS per Postgre SQL

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

Queste funzionalità sono disponibili a partire da Postgre 17. RDS SQL Una configurazione tipica prevede un'istanza principale e la relativa replica di lettura, oltre a un abbonato di replica logica a quella 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 dello slot 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.