프리 정보 컨텐츠

PostgreSQL Lock 쿼리 종료 명령어 본문

DataBase/PostgreSQL

PostgreSQL Lock 쿼리 종료 명령어

쏜스 2025. 4. 2. 14:09
반응형

 

아래는 Lock 걸려 있는 상태 조회하는 명령어 입니다.

SELECT pid, query
FROM pg_stat_activity
where state = 'active'
  and wait_event_type = 'Lock';

 

특정 락 종료을 종료시킬 때 조회한 pid를 파라미터 값으로 입력하여 하나하나 종료하고 있었으나

SELECT pg_terminate_backend(6450);


아래 명령어를 입력하면 현재 Lock 쿼리들 모두 다 취소시킬 수 있습니다.

SELECT pg_cancel_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE state = 'active'
  and wait_event_type = 'Lock'
  AND pid <> pg_backend_pid();


하지만 Lock의 근본 원인이 되는 쿼리들에서부터 문제가 될 수 있으므로 근본 원인 쿼리도 Kill 해줘야합니다.

SELECT query_start, wait_event_type, state, query
FROM pg_stat_activity
where state = 'active' and query like 'UPDATE \"completes\"%'
order by query_start;

 

반응형
Comments