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=...' PUBLICATIONpubname
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_replication
deve consentire1
la replica logica -
hot_standby_feedback
deve essere1
in standby -
rds.logical_slot_sync_dbname
in standby deve essere impostato su un nome di database validoIl valore predefinito del parametro è
postgres
. Se l'istanza di pubblicazione logica dispone delpostgres
database, non è necessario modificare il parametro predefinito. -
synchronized_standby_slots
sul primario deve essere impostato sullo slot di replica fisico dello standby destinato alla sincronizzazione -
sync_replication_slots
deve consentire la1
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.