PostgreSQL 8.4에서 활성 연결 및 "현재 활동"을 보는 방법


99

DB 연결이 무기한 열린 상태로 유지되어 DB 서버에 문제가 발생하는 문제를 조사 중입니다. PostgreSQL 서버, 특히 특정 데이터베이스를 사용하는 서버에 대한 현재 열린 연결을 어떻게 볼 수 있습니까? 이상적으로는 어떤 명령이 실행되고 있는지보고 싶습니다. 기본적으로 MSSQL의 "Current Activity"보기와 동등한 것을 찾고 있습니다.


PostgreSQL 9.0부터는 문제를 일으키는 응용 프로그램의 이름도 볼 수 있습니다. 아마도 이것은 향후 점검에 도움이 될 것입니다.
postgresql007

답변:


137

좋아, 다른 사람에게서 얻었 어. 이 쿼리는 트릭을 수행해야합니다.

select *
from pg_stat_activity
where datname = 'mydatabasename';

23

postgres 활동을 보여주는 것을 제외하고는 top처럼 작동하는 pg-top 도 참조하십시오 .

  • pg-top을 설치하십시오 (데비안에서는 패키지를 "ptop"이라고합니다).
  • (예를 들어 포스트 그레스 사용자를 가입 sudo su postgres)
  • 운영 pg_top

Windows 실행 파일을 찾기가 어렵습니다. 당신은 (거의) Windows 서버에 완전한 GCC 제품군이나 Mingw를 가지고 있지 않습니다 (내 선택이 아니라 나를 비난하지 마십시오).
oligofren

@oligofren Windows에서 Postgresql을 실행하는 것은 다른 많은 이유로 유틸리티와 도구가 Linux 용으로 작성된 것이라면 약간의 모험입니다.
Wayne Conrad

13

이 기사에서 가져온 참조.

SELECT 
    pid
    ,datname
    ,usename
    ,application_name
    ,client_hostname
    ,client_port
    ,backend_start
    ,query_start
    ,query  
FROM pg_stat_activity
WHERE state <> 'idle'
AND pid<>pg_backend_pid();

querypid선정됐다 current_queryprocpid,과 state에서 사용할 수 없습니다 pg_stat_activityPostgreSQL의 9.2 이전.
user369450


1

참조 용으로 Ubuntu 18.04 에서 모니터링하는 두 가지 방법

하나를 사용하여 pg_top:

$ sudo apt-get install ptop
$ pg_top # similar to top as others mentioned

두 가지 사용 pgAdmin4:

$ sudo apt-get install pgadmin4 pgadmin4-apache2
# type in password and use default url
$ pgadmin4

대시 보드에서 전체 / 활성을

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.