- 슬로우 쿼리가 발생하면 로그 남기기
postgresql.conf 에 설정값 추가 ## 5초이상 기록 (ms 단위 ) log_min_duration_statement = 5000 ## 특정 데이터베이스, 특정 유저 권한에서 발생한 슬로우쿼리 모니터링 ALTER DATABASE test SET log_min_duration_statement = 5000;
설정 후 config reload
SELECT pg_reload_conf(); - 쿼리와 실행계획 로그에 남기기
## 1. postgresql.conf에 auto_explain 라이브러리를 추가
session_preload_libraries = 'auto_explain';
## 2. 라이브러리 로드 후 설정
LOAD 'auto_explain';
SET auto_explain.log_analyze TO on;
SET auto_explain.log_min_duration TO 500;
explain analyze 기반으로 로그를 남기므로 롱쿼리를 다시 실행시키는 risk 가 존재한다.
- 쿼리 실행 통계 보기
## postgres.conf에 설정값을 추가 및 pg 재기동
shared_preload_libraries = 'pg_stat_statements'
CREATE EXTENSION pg_stat_statements;
pg_stat_statements VIEW를 조회해서 slow 쿼리 분석가능
출처: https://americanopeople.tistory.com/288 [이지민의 복세편살:티스토리]
'Postgresql' 카테고리의 다른 글
pgadmin4 (0) | 2025.01.11 |
---|---|
Vaccum (0) | 2025.01.11 |
Visibility Map(가시성 맵) (0) | 2024.12.17 |
쿼리성능 분석 툴 pg_stat_statements (0) | 2024.12.17 |
PostgreSQL 15.8 시스템 변수 최적화 (0) | 2024.12.11 |