Postgresql

슬로우쿼리 모니터링

dbavayne 2024. 12. 26. 15:37
  • 슬로우 쿼리가 발생하면 로그 남기기
    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