Error : PostgreSQL에서 세션 접속을 강제 종료하기(ERROR: database "DB Name" is being accessed by other users)
PostgreSQL작업을 하다보면 DB를 지워야 할때가 있습니다. 그런데 아래와 같은 에러가 발생할때가 있습니다.
사진1) DB삭제시 발생에러 |
사진1과 같이 다른곳에서 DB의 세션으로 묶여있으면 그 세션을 종료할때까지 DB를 삭제할수가 없습니다. 그래서 강제 종료를 해야 합니다.
PostgreSQL세션 강제 종료하기
$ SELECT
pg_terminate_backend(pid)
FROM
pg_stat_activity
WHERE
-- don't kill my own connection!
pid <> pg_backend_pid()
-- don't kill the connections to other databases
AND datname = 'test2';
사진2) DB강제 접속 종료 |
이제 접속이 차단된 상태에서 DB를 지우도록 하겠습니다.
사진3) DB 정상 제거 |
이제 DB를 지울수가 있습니다. 위 코드는 DB 이름이 test1인 경우로 진행한 것입니다. 필요에 따라 변경이 가능합니다.
댓글
댓글 쓰기