Development/Daily Error

일간에러 2022-01-11 remaining connection slots are reserved for non-replication superuser connections

📝 작성 : 2022.01.12  ⏱ 수정 : 
반응형

Postgres 에러

증상

image-20220111175434416

remaining connection slots are reserved for non-replication superuser connections

커넥션이 충분히 있는데도 커넥션을 얻지 못함. iRods에서도 커넥션을 얻지 못하니 파일 업로드를 하다가 빈번히 Connection reset이 되어 버림

원인

커넥션이 말라버려서 더이상 제공할 커넥션이 없음.

해결

보통은 커넥션 수를 늘리는 방법으로 해결하는 경우가 많은데

max_connections 를 먼저 확인 해 본다.

select * from pg_settings where name='max_connections';

image-20220112084141117

max_connections가 100으로 세팅 되어 있는데, 이 경우에는 운영중인 서버도 아니고 max_connections에 문제가 있지 않음.

만약 max_connection을 변경 해야 하는 경우라면,

/etc/postgresql/버전/postgresql.conf 에 있는 max_connection 값을 변경하고 재시작 해 주면 적용된다.

하지만 지금의 경우는 커넥션 갯수는 문제가 없지만 어플리케이션에서 DB에 접속 후 커넥션을 제대로 반납하지 않아 일어난 상황.

커넥션 누수가 발생하고 있는 코드를 추적해서 커넥션 반납을 하도록 처리해주면 해결 된다.

반응형