💣
PostgreSQL 세션 정보 확인 및 종료

· January 20, 2025 · 1 min read


☀️ 테스트 환경

  • PostgreSQL 16.1 (Amazon Aurora)

    • Amazon Aurora↗는 MySQL 및 PostgreSQL과 호환되는 완전 관리형 관계형 데이터베이스 엔진이다.

✋ 들어가며

database를 통으로 날려버리기 위해서 문제의 쿼리를 실행하다가 오류를 발견했다. 없어질 건 없어져야 하기 대문에 세션을 종료하고 쿼리를 실행하는걸로 해결.

문제의 쿼리

drop database _YOUR_DATABASE_NAME_;

오류 내용

[55006] ERROR: database "_YOUR_DATABASE_NAME_" is being accessed by other users
Detail: There are `n` other sessions using the database.

🧹 세션 정보 확인

pgstatactivity 테이블에서 접속중인 세션 정보를 확인한다.

select pid
    , usename
    , application_name 
    , client_addr
from pg_stat_activity
where datname = '_YOUR_DATABASE_NAME_';

🧲 세션 종료

단건 종료 처리

select pg_terminate_backend(pid);

일괄 종료 처리

select pg_terminate_backend(pid)
from pg_stat_activity
where datname = '_YOUR_DATABASE_NAME_';

👋

@rundevelrun
똑바로 해, 넌 정말