RDS for PostgreSQL의 읽기 전용 복제본 문제 해결
다음에서 몇 가지 일반적인 RDS for PostgreSQL의 읽기 전용 복제본 문제에 대한 문제 해결 아이디어를 찾아볼 수 있습니다.
- 읽기 전용 복제본 지연을 유발하는 쿼리 종료
-
데이터베이스에서 오랫동안 실행 중인 활성 또는 유휴 상태의 트랜잭션은 WAL 복제 프로세스를 방해하여 복제 지연을 증가시킬 수 있습니다. 따라서 PostgreSQL
pg_stat_activity보기를 사용하여 이러한 트랜잭션의 런타임을 모니터링해야 합니다.다음과 비슷한 방식으로 기본 인스턴스에서 쿼리를 실행하여 오랫동안 실행 중인 쿼리의 프로세스 ID(PID)를 찾으세요.
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;쿼리의 PID를 식별한 후 쿼리를 종료하도록 선택할 수 있습니다.
다음과 비슷한 방식으로 기본 인스턴스에서 쿼리를 실행하여 오랫동안 실행 중인 쿼리를 종료하세요.
SELECT pg_terminate_backend(PID);