RDS for PostgreSQL의 읽기 전용 복제본 문제 해결 - Amazon Relational Database Service

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);