PostgreSQL에서 활성 연결을 나열하는 방법은 무엇입니까? 주어진 데이터베이스에 대한 활성 연결을

PostgreSQL에 주어진 데이터베이스에 대한 활성 연결을 선택하는 명령이 있습니까?

psql데이터베이스에 대한 활성 연결 이 있기 때문에 데이터베이스 중 하나를 삭제할 수 없으므로 연결이 무엇인지 (어떤 컴퓨터에서)보고 싶습니다.



답변

오, 방금 PostgreSQL 포럼에서 해당 명령을 찾았습니다.

SELECT * FROM pg_stat_activity;


답변

다음은 postgres DB에서 활성 연결 / 쿼리를 제공합니다

SELECT
    pid
    ,datname
    ,usename
    ,application_name
    ,client_hostname
    ,client_port
    ,backend_start
    ,query_start
    ,query
    ,state
FROM pg_stat_activity
WHERE state = 'active';

이미 실행 된 연결 / 쿼리를 얻기 위해 active 대신 ‘idle’을 사용할 수 있습니다.


답변

SELECT * FROM pg_stat_activity WHERE datname = 'dbname' and state = 'active';

이후로는 pg_stat_activity어떤 상태를 갖는 모든 데이터베이스의 접속 통계를 포함하거나 idle또는 active데이터베이스 이름 및 연결 상태는 원하는 출력을 얻을 수있는 쿼리에 포함되어야한다.


답변