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à.
Risoluzione dei problemi per la replica di lettura RDS per PostgreSQL
Di seguito sono riportati suggerimenti per la risoluzione di alcuni problemi comuni relativi alle repliche di lettura RDS per PostgreSQL.
- Terminare la query che causa il ritardo della replica di lettura
-
Le transazioni con stato di transazione attiva o inattiva che sono in esecuzione da molto tempo nel database potrebbero interferire con il processo di replica WAL, aumentando così il ritardo della replica. Pertanto, è necessario monitorare il runtime di queste transazioni con la vista PostgreSQL
pg_stat_activity.Eseguire una query sull’istanza primaria simile alla seguente per trovare l’ID di processo (PID) della query in esecuzione da molto tempo:
SELECT datname, pid,usename, client_addr, backend_start, xact_start, current_timestamp - xact_start AS xact_runtime, state, backend_xmin FROM pg_stat_activity WHERE state='active';SELECT now() - state_change as idle_in_transaction_duration, now() - xact_start as xact_duration,* FROM pg_stat_activity WHERE state = 'idle in transaction' AND xact_start is not null ORDER BY 1 DESC;Dopo aver identificato il PID della query, è possibile scegliere di terminare la query.
Eseguire una query sull’istanza primaria simile alla seguente per terminare la query in esecuzione da molto tempo:
SELECT pg_terminate_backend(PID);