PG SQL 통계
홈 화면 > 프로젝트 선택 > 통계/보고서 > PG SQL 통계
PostgreSQL에서 제공하는 SQL 통계(수행 횟수, 실행 시간, Row 수 등) 데이터로 pg_state_statements
뷰를 통해 수집합니다.
-
1시간 간격으로
pg_stat_statements
로부터 델타값을 계산해 수집하기 때문에, 설정 후 1시간 뒤부터 수집을 시작합니다. -
1시간 간격 수집 시
total_time
기준 최대 5,000건까지 수집합니다. -
pg_stat_statements
모듈에 대한 자세한 내용은 다음 링크를 참조하세요.
사용하기 전에
PG SQL 통계 메뉴를 사용하기 위해서는 모니터링 대상 DB에서 다음과 같은 설정이 필요합니다.
-
PostgreSQL 확장팩을 설치하세요.
yum install postgresql-contrib
-
postgresql.conf 파일에 파라미터 설정 후 DB를 재기동하세요.
postgresql.confshared_preload_libraries = 'pg_stat_statements'
-
사용하려는 DB에 접속해 확장 모듈을 설치하세요.
create extension pg_stat_statements;
-
데이터를 조회하는지 확인하세요.
select * from public.pg_stat_statements
데이터를 수집하는 기준은 다음 DBX 에이전트 옵션을 참조하세요. pg_stat_statements
를 조회하며 rows 값이 statements_min_row
보다 큰 경우 수집합니다.
# default 10000 row
statements_min_row=10000
기본 화면 안내
-
시간에서 데이터를 조회할 시간과 날짜를 선택하세요. 녹색 버튼을 선택해 조회 시간을 선택할 수도 있습니다.
-
인스턴스에서 데이터를 조회할 대상을 선택하세요.
-
버튼을 선택하세요.
상위 50건의 내용을 테이블에 표시합니다.
-
임의의 날짜와 시간을 조회하려면 시계 표시 부분을 선택하세요. 날짜와 시간 텍스트 영역을 클릭하면 날짜와 시간을 선택할 수 있는 옵션이 나타납니다.
-
테이블 헤더의 각 컬럼을 클릭하면 선택한 컬럼을 기준으로 목록을 정렬할 수 있습니다.
-
정렬 순서에서 선택한 항목 따라 조회 결과를 정렬할 수 있습니다. 원하는 항목을 선택한 다음 버튼을 선택하세요.
-
조회 건수에서 테이블에 표시할 건 수를 설정할 수 있습니다. 설정을 완료한 다음 버튼을 선택하세요.
-
조회한 내용을 CSV 형식의 파일로 다운받으려면 버튼을 선택하세요.
-
조회된 결과 목록에서 query 항목을 선택하면 SQL 상세 창이 나타납니다. 자세한 내용은 다음 문서를 참조하세요.
컬럼 정보 안내
항목 | 설명 |
---|---|
query | 쿼리 문자열 |
queryid | 쿼리 해시코드 |
user | 사용자 oid |
db | 데이터베이스 이름 |
rows | 검색되거나 영향을 받는 총 ROW 수 |
total_exec_time | 쿼리 실행에 소요 된 총 시간(밀리 초) |
calls | 실행 횟수 |
shared_blks_hit | 총 공유 블록 캐시 적중 수 |
shared_blks_read | 디스크에서 읽은 총 공유 블록 수 |
blk_read_time | 블록을 읽는데 걸린 총시간(밀리 초), track_io_timing 이 활성화 된 경우, 그렇지 않으면 0 |
blk_write_time | 블록을 쓰는데 걸린 총시간, track_io_timing 이 활성화 된 경우, 그렇지 않으면 0 |
local_blks_dirtied | 변경된 로컬 블록 수 |
local_blks_hit | 로컬 블록 캐시 히트 수 |
local_blks_written | 디스크에 기록된 총 로컬 블록 수 |
local_blks_read | 디스크에서 읽은 총 로컬 블록 수 |
shared_blks_written | 디스크에 기록된 총 공유 블록 수 |
shared_blks_dirtied | 변경된 총 공유 블록 수 |
temp_blks_read | 디스크에서 읽은 총 임시 블록 수 |
temp_blks_written | 디스크에 기록된 총 임시 블록 수 |
쿼리 미리보기
조회된 결과 목록에서 마우스 포인터를 query 컬럼 항목으로 가져가면 쿼리문을 미리볼 수 있습니다.
쿼리 자세히 보기
- SQL 통계 보기: 해당 SQL 쿼리문과 관련한 통계 정보를 확인할 수 있는 SQL 통계 메뉴로 이동할 수 있습니다.
-
Default Bind: 쿼리 문장에서 변수로 설정된 부분을 기본값으로 바인딩할 수 있습니다.
-
Reset Bind: 바인딩된 기본값을 해제하고 변수를 확인할 수 있습니다.
-
Formatting: SQL 쿼리문에 들여쓰기 및 포맷팅을 적용해 가독성을 높일 수 있습니다.
-
Plan: Plan 정보를 확인하려면 DB Name, User Name, Password를 입력한 다음 버튼을 선택하세요.
-
Text: 텍스트 형식으로 플랜 정보를 확인할 수 있습니다.
-
JSON: Json 형식으로 플랜 정보를 조회하면 병목이 발생하는 지점을 빠르게 확인할 수 있습니다.
노트JSON 형식으로 플랜 정보를 조회하는 기능은 DBX 에이전트 1.6.12 버전 이상에서만 지원합니다.
-
JSON 형식으로 플랜 정보를 조회한 상태에서 table 또는 index 항목을 선택하면 테이블의 column, index 구성을 확인할 수 있는 Object detail 창이 나타납니다.
이 기능은 DBX 에이전트 1.6.15 버전 이상에서 지원합니다. 데이터베이스 권한과 관련한 설정은 다음 문서를 참조하세요.
조회 결과 필터링하기
필터 조건 추가하기
조회된 결과에서 SQL 텍스트 값 또는 에이전트 이름, DB 유저 이름 등을 기준으로 필터링해 원하는 결과를 조회할 수 있습니다.
-
필터 옵션에서 버튼을 선택하세요.
-
필터 키 항목에서 원하는 필터링 기준을 선택하세요.
-
선택한 항목의 값이 문자에 해당한다면 포함(파 란색), 미포함(빨간색) 조건을 선택할 수 있습니다.
-
선택한 항목의 값이 숫자에 해당한다면
==
(같음),>=
(보다 크거나 같음),<=
(보다 작거나 같음) 조건을 선택할 수 있습니다.
-
-
조건 항목에서 조건을 선택하세요.
-
조건과 일치시킬 문자열 또는 숫자를 입력하세요.
-
적용 버튼을 선택하세요.
-
필터링 조건을 추가하려면 추가 버튼을 선택한 다음 1 ~ 5의 과정을 반복하세요. 추가한 조건은 AND(
&&
) 조건으로 적용됩니다. -
조건 추가 중 일부 항목을 삭제하려면 필터 조건 오른쪽에 버튼을 선택하세요. 전체 조건을 삭제하려면 전체 삭제 버튼 선택하세요.
-
필터 옵션에 적용된 조건을 빠르게 삭제하려면 버튼을 선택하세요.
-
sqlText
에 'WhaTap'이 포함된 경우 제외하도록 기본 설정되어 있습니다.
필터 조건 수정하기
필터 옵션에 적용된 항목을 클릭하세요. 필터 수정하기 창이 나타나면 원하는 항목을 수정하고 적용 버튼을 선택하세요.
테이블 컬럼 설정하기
테이블 헤더 컬럼을 감추거나 원하는 항목을 추가할 수 있습니다. 컬럼 순서를 변경할 수도 있습니다. 버튼을 선택하세요.
-
설정을 완료한 다음에는 확인 버튼을 선택해야 설정 사항이 테이블에 반영됩니다.
-
검색란에 텍스트를 입력해 원하는 컬럼 항목을 검색할 수 있습니다. 입력한 텍스트와 매칭되는 컬럼 항목만 표시됩니다.
-
이미지는 상품 또는 프로젝트, 메뉴에 따라 다를 수 있습니다.
컬럼 추가하기
목록에서 테이블 헤더 컬럼으로 추가할 항목을 선택하세요. 모든 항목을 추가하려면 전체 선택을 선택하세요.
컬럼 삭제하기
목록에서 삭제할 컬럼 항목의 체크 박스를 선택 해제하세요. 또는 목록에서 삭제할 항목의 오른쪽에 버튼을 선택하세요.
컬럼 순서 변경하기
목록에 순서를 변경할 항목을 드래그해서 원하는 위치로 이동할 수 있습니다.
설정 사항 초기화하기
변경 사항은 모두 취소하고 초기화하려면 초기화 버튼을 선택하세요.