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 logica degli slot per RDS per PostgreSQL
A partire dalla versione Community PostgreSQL 17, è stata introdotta una nuova funzionalità per sincronizzare automaticamente gli slot di replica logica dai server primari a quelli in standby tramite il parametro sync_replication_slots 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 primaria e la relativa replica di lettura, oltre a un subscriber di replica logica alla primaria.
Assicurati che l’abbonamento sia creato con l’opzione di failover impostata su true:
CREATE SUBSCRIPTIONsubnameCONNECTION 'host=...' PUBLICATIONpubnameWITH (failover = true);
In questo modo viene creato uno slot logico sul publisher 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 sull’istanza primaria vengono creati automaticamente negli standby fisici e sincronizzati periodicamente. Assicurati che i seguenti valori siano stati impostati tramite gruppi di parametri:
-
rds.logical_replicationdeve essere1per abilitare la replica logica -
hot_standby_feedbackdeve essere1sullo standby -
rds.logical_slot_sync_dbnamesullo standby deve essere impostato su un nome di database validoIl valore predefinito del parametro è
postgres. Se l’istanza di pubblicazione logica dispone del databasepostgres, non è necessario modificare il parametro predefinito. -
synchronized_standby_slotssull’istanza primaria deve essere impostato sullo slot di replica fisico dello standby destinato alla sincronizzazione -
sync_replication_slotsdeve essere1per abilitare sincronizzazione automatica
Con uno slot di abbonamento abilitato al failover e i valori dei parametri sopra indicati, quando viene promosso uno standby, il subscriber può modificare il proprio abbonamento a questa nuova istanza promossa e continuare la replica logica senza problemi.