Database/PostgreSQL

postgreSQL 모니터링 [viewing statistics]

리밍 2023. 3. 30. 13:03

 

Viewing Statistics

- 시스템의 현재 상태를 보여줌

view name description
pg_stat_activity process의 상태, 동작중인 query 등과 같은 현재 activity 관련 정보를 나타냄
pg_stat_replication standby server의 replication 통계정보를 나타냄
pg_stat_wal_receiver  WAL receiver 의 통계 정보를 나타냄
pg_stat_progress_vacuum VACUMM의 진행상황 나타냄

 

 

- 수집된 정보를 보여줌

view name description
pg_catalog tables, views, functions, indexes, fdw, trigger, constraints, rules, users, groups 등 정보
pg_database 데이터베이스 목록 조회
pg_tablespace 테이블스페이스 조회
pg_namespace 스키마 목록 조회
pg_user 유저 조회
pg_stat_all_table 현 database 의 각 table 당 한 row, 특정 테이블 accesss관련 통계정보
pg_stat_bgwriter background writer process 의 활동 통계 정보
pg_statio_all_tables 현 database 의 각 table 당 한 row, 특정 테이블 I/O 관련 통계정보
pg_statio_all_indexes 현 database의 각 index 당 한 row, 특정 index I/O 관련 통계 정보
pg_statio_user_indexes pg_statio_all_indexes와 같지만, User table 관련 정보만 나타냄
pg_stat_statements 서버에서 실행 되었던 쿼리들에 대한 실행 통계정보

 

 

✅ 알아두면 좋은 쿼리!

 

1. Active 한 세션 조회

SELECT datname, usename, state, query FROM pg_stat_activity WHERE state = 'active';

 

2. 접속한 사용자 조회

SELECT datname, usename, client_addr, client_port, application_name FROM pg_stat_activity;

 

3. 오래 실행한 쿼리 

SELECT current_timestamp - query_start AS runtime,
		datname, usename, query
FROM pg_stat_activity 
WHERE state = 'active' ORDER BY 1 DESC;

 

4. 데이터베이스 사용량 확인

 

select datname, pg_size_pretty(pg_database_size(datname)) 
from pg_database
order by pg_database_size(datname);
  • pg_database_size 함수: 데이터베이스 총 디스크 사용량 반환
  • pg_size_pretty 함수: 바이트단위의 크기를 사람이 쉽게 읽을수 있는 text형식으로 변환 KB,MB단위로 알아서 변환

 

 

 

출처

https://www.postgresql.org/docs/10/monitoring.html