terminating connection due to idle-in-transaction session timeout

Volc·2025년 1월 2일
0

Error

목록 보기
65/65

Error

  • 서버에서 postgresql을 연결하여 insert 쿼리를 날렸으나 다음과 같은 에러가 발생하며 commit()을 실패했다.

발생원인

  • DB에 idle_in_transaction_session_timeout이라는 설정이 있는데 보안으로 인해 15분으로 설정해두었다. 그러나 쿼리는 15분이 넘어가는 쿼리였고 해당 옵션은 15분 안에 commit() 혹은 rollback()이 되지 않으면 connection을 끊어버린다.

해결

다음과 같이 코드를 작성하여 해당 connection의 경우에만 timeout을 0으로 설정하는 코드를 작성하였다.

cur.execute("set idle_in_transaction_session_timeout=0")
  • 보안에는 적합하지 않는 코드 같으나 우선은 이렇게 해결하였다.
profile
미래를 생각하는 개발자

0개의 댓글