Amazon RDS for PostgreSQL 또는 Aurora PostgreSQL 호환 DB 인스턴스에 연결할 때 "클라이언트에 데이터를 보낼 수 없음" 또는 "클라이언트로부터 데이터를 받을 수 없음" 오류를 해결하려면 어떻게 해야 하나요?

2분 분량
0

PostgreSQL용 Amazon Relational Database Service(RDS) 또는 Amazon Aurora PostgreSQL 호환 에디션 DB 인스턴스가 있습니다. 하지만 그럴 때 다음 오류 중 하나가 발생합니다: "클라이언트에 데이터를 보낼 수 없습니다" 또는 "클라이언트로부터 데이터를 받을 수 없습니다"

해결 방법

Amazon RDS DB 인스턴스의 백엔드 프로세스는 클라이언트로부터 데이터를 보내거나 받을 수 있어야 합니다. 백엔드 프로세스가 데이터를 보내거나 받을 수 없는 경우, 백엔드 프로세스는 PostgreSQL 로그에 오류 중 하나를 기록합니다. 이 문제를 해결하려면 다음 단계를 완료하세요.

클라이언트의 활성 상태 확인

먼저 클라이언트 프로세스의 활성 상태를 확인합니다. 예를 들어 메모리 부족(OOM) 으로 인해 클라이언트 프로세스가 충돌하는 경우 세션이 잘못 종료될 수 있습니다. 이 종료로 인해 이러한 오류 중 하나가 발생할 수 있습니다.

tcp_keepalives_idle 및 tcp_keepalives_interval 파라미터 단축

쿼리 처리 시간이 너무 길면 세션이 클라이언트에서 잘못 종료될 수 있습니다. 이 문제를 해결하려면 클라이언트의 제한 시간 설정을 늘리세요. 또한 tcp\ _keepalives\ _idletcp\ _keepalives\ _interval 파라미터를 줄여 백엔드 프로세스에서 클라이언트의 활성 상태를 확인할 수 있습니다. 자세한 내용은 파라미터 그룹으로 작업하기를 참조하세요.

tcp\ _keepalives\ _idle ** 및 ** ** tcp\ _keepalives\ ** _interval의 기본값을 확인하려면 psql과 같은 PostgreSQL 클라이언트를 사용하여 다음 명령을 실행합니다.

SELECT name, setting FROM pg_settings WHERE name LIKE 'tcp_keepalives_%'

연결 확인

쿼리 처리 시간이 짧아도 오류가 발생하는 경우, 클라이언트와 DB 인스턴스 간의 연결을 확인하세요.

rdsadmin 세션에서 장애 조치한 후에 오류가 발생하는지 확인합니다.

rdsadmin 세션에서 장애 조치한 후에 오류가 발생하는 경우 오류를 무시하세요.

관련 정보

PostgreSQL 오류 코드(PostgreSQL 웹 사이트에서)

연결 및 인증(PostgreSQL 웹 사이트에서)

TCP keepalives 파라미터 설정