[PostgreSQL] DB에서 프로세스 종료/취소 (pg_terminate_backend, pg_cacel_backend)

Ja L·2024년 1월 14일
0

pg_terminate_backend, pg_cacel_backend 커맨드에 대해 기록합니다.

pg_terminate_backend 커맨드를 먼저 살펴봅니다.
프로세스를 강제 종료하는 커맨드는 아래와 같이 pg_termiante_backend(pid)를 이용할 수 있습니다. 해당 커맨드는 잘못되는 경우 DB 종료까지 야기할 수 있으므로 pid를 잘 확인해야합니다.

SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE pid = 20715;

pg_cacel_backend(pid) 커맨드도 존재합니다. 위와 같은 예에서 pg_terminate_backend(pid)가 아닌 pg_cancel_backend(pid)를 입력할 경우 수동 커밋 트랜잭션만 종료될 뿐 프로세스는 그대로 남아있게됩니다. 이는 Lock 점유도 그대로 남아있어, xid 문제로 점검하는 경우 terminate 커맨드를 사용해야합니다.

SELECT pg_cancel_backend(pid)
FROM pg_stat_activity
WHERE pid = 16384;
profile
DB Engineer

0개의 댓글

관련 채용 정보