PostgreSQL

    PostgreSQL 쿼리 무한 로딩 idle in transaction 해결

    한줄 요약: pid 조회하고 select pg_cancel_backend(pid);로 세션 취소 DROP INDEX 인덱스명; 을 실행했더니 무한 로딩이 걸린다. Oracle에서 update문을 실행하다가 고생한 경험을 떠올렸다. 네트워크 연결이 불안정한 작업 환경에서 운영 DB에 커밋을 하다가 무한 대기가 걸려서 아주 많이 당황했었고 lock이 원인이란 걸 파악한 뒤 DBA에게 session kill을 요청하여 해결했었다. 그러니 우선 현재 실행 중인 프로세스의 lock 정보를 보여주는 pg_locks view를 조회해보자. Lock 정보 조회 select * from pg_locks l, pg_stat_all_tables t where l.relation = t.relid order by relati..