[postgresql] PostgreSQL 프로세스가 “트랜잭션에서 유휴 상태”라는 것은 무엇을 의미합니까?

PostgreSQL 프로세스가 “트랜잭션에서 유휴”상태 라는 것은 무엇을 의미 합니까?

내가보고있는 서버에서 “ps ax | grep postgres”의 출력에는 다음과 같은 9 개의 PostgreSQL 프로세스가 있습니다.

postgres: user db 127.0.0.1(55658) idle in transaction

이것은 일부 프로세스가 중단되어 트랜잭션이 커밋되기를 기다리고 있음을 의미합니까? 관련 문서에 대한 모든 조언을 부탁드립니다.



답변

PostgreSQL의 설명서는 트랜잭션이 열려있는이 수단 (내부 BEGIN) 및 유휴 있음을 나타냅니다. 생각하거나 입력하는 모니터를 사용하여 연결된 사용자 일 가능성이 높습니다. 내 시스템에도 많은 것들이 있습니다.

복제에 대한 Slony을 사용하는 경우, 그러나, Slony-I 자주 묻는 질문 건의 idle in transaction네트워크 연결이 갑자기 종료 된 것을 의미합니다. 자세한 내용은 해당 FAQ의 토론을 확인하십시오.


답변

여기에서 언급했듯이 Re : BUG # 4243 : Idle in transaction 은 pg_locks 테이블을 확인하여 무엇이 잠겨 있는지 확인하는 것이 가장 좋으며 문제가 어디에 있는지 더 나은 단서를 제공 할 수 있습니다.


답변