DB 연결이 무기한 열린 상태로 유지되어 DB 서버에 문제가 발생하는 문제를 조사 중입니다. PostgreSQL 서버, 특히 특정 데이터베이스를 사용하는 서버에 대한 현재 열린 연결을 어떻게 볼 수 있습니까? 이상적으로는 어떤 명령이 실행되고 있는지보고 싶습니다. 기본적으로 MSSQL의 “Current Activity”보기와 동등한 것을 찾고 있습니다.
답변
좋아, 다른 사람에게서 얻었 어. 이 쿼리는 트릭을 수행해야합니다.
select *
from pg_stat_activity
where datname = 'mydatabasename';
답변
postgres 활동을 보여주는 것을 제외하고는 top처럼 작동하는 pg-top 도 참조하십시오 .
- pg-top을 설치하십시오 (데비안에서는 패키지를 “ptop”이라고합니다).
- (예를 들어 포스트 그레스 사용자를 가입
sudo su postgres
) - 운영
pg_top
답변
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();
답변
PostgreSQL ASH 뷰어 (PASH 뷰어)는 활성 세션 기록 데이터의 그래픽보기를 제공합니다.
https://github.com/dbacvetkov/PASH-Viewer
무료이며 오픈 소스입니다.