Idle in transaction ?: postgresql 9.6 이상에서 유휴상태인 transaction에 대해서 자동 종료 시켜주는 기능

[postgresql.conf]

postgresql.conf 파일에는 default로 0으로 되어있으며, 주석 처리가 되어있다.

#idle_in_transaction_session_timeout = 0 # in milliseconds, 0 is disabled.
.
.
.

해당 기능을 사용하려면,

C:\onTune\database\Postgresql\pgsql\Data\postgresql.conf 파일 내에,

해당 부분을 주석 해제하여 옵션 값을 지정해준다.

#idle_in_transaction_session_timeout = 0               # in milliseconds, 0 is disabled

idle_in_transaction_session_timeout = 1800000  (1800초)                 # in milliseconds, 0 is disabled

// transaction connection을 열려있지만 유휴 상태 (놀고있음)일 경우 해당 transaction을 자동으로 종료시켜줌



위와 같이 설정 후,
* postgresql 서비스 재시작 후  확인

psqlTest=# show idle_in_transaction_session_timeout;

idle_in_transaction_session_timeout

-------------------------------------

30min

(1개 행)




또는 쿼리로 옵션을 변경해줄 수 있다.

alter system set idle_in_transaction_session_timeout='1min';




계속 까먹네;