Solución de problemas de réplicas de lectura de RDS para PostgreSQL - Amazon Relational Database Service

Solución de problemas de réplicas de lectura de RDS para PostgreSQL

A continuación, encontrará ideas para solucionar algunos problemas comunes de las réplicas de lectura de RDS para PostgreSQL.

Finalice la consulta que provoca el retardo de la réplica de lectura

Las transacciones activas o inactivas en un estado de transacción que se estén ejecutando durante mucho tiempo en la base de datos pueden interferir con el proceso de replicación de WAL y, por lo tanto, aumentar el retardo de la replicación. Por lo tanto, asegúrese de supervisar el tiempo de ejecución de estas transacciones con la vista pg_stat_activity de PostgreSQL.

Ejecute una consulta en la instancia principal similar a la siguiente para encontrar el ID de proceso (PID) de la consulta que lleva mucho tiempo ejecutándose:

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;

Tras identificar el PID de la consulta, puede optar por finalizarla.

Ejecute una consulta en la instancia principal similar a la siguiente para finalizar la consulta que lleva mucho tiempo ejecutándose:

SELECT pg_terminate_backend(PID);