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=...' 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 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_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.