안녕하세요 씨앤텍시스템즈 입니다.
이번 포스트는 Postgresql Query Log에 대해서 정리해 보았습니다.
DB 리버스를 통해 테이블의 목록 및 관계를 조금이나마 파악하였지만 더 정확히 파악하기 위해서
Query Log를 통해 Data가 어느 테이블에 저장되는지 알아보겠습니다.
1. Query Log 작성
Postgresql은 select,update,insert 등등
DB에 호출된 Query를 기록해주는 기능을 제공합니다.
이 기능을 사용하기 위해선 간단한 사전 준비가 필요합니다.
우선, Postgresql이 설치된 경로에 postgresql.conf 파일을 수정해야 합니다.
○ log_directory의 주석을 제거
log_directory = 'pg_log'
○ log_finename의 주석을 제거
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
○ log_statement의 주석을 제거하고 'none'으로 되어있는 설정값을 'all'로 변경
log_statement = 'all'
○ logging_collector의 주석을 제거하고 'off'로 되어있는 설정값을 'on'으로 변경
logging_collector = on
○ log_destination의 주석을 제거
log_destination = 'stderr'
위에 내용대로 파일을 수정 했다면 저장을 하고, postgresql를 재시작 합니다.
재시작을 하였다면 아래 이미지의 경로에서
로그 파일을 확인할 수 있습니다.
여기까지 Query 분석을 위한 준비는 끝났습니다.
CKAN에 데이터 셋을 등록을 하였을 때 사용되는 Query와 table을
Query Log를 통해 확인해 보도록 하겠습니다.
등록을 마친 뒤 Query Log 파일을 확인 하면
이렇게 사용된 Query를 확인 할 수 있습니다.
매우 많은 Query가 사용되었지만 이 파일을 분석하면
table간 관계를 정확히 파악할 있을 것이라 판단 됩니다.
'OpenDataPlatform > CKAN 분석' 카테고리의 다른 글
03. CKAN 프레임워크 - Pandas (1) | 2019.07.01 |
---|---|
02. CKAN 프레임워크 - Solr (0) | 2019.05.31 |
01. CKAN 프레임워크 - 준비 (0) | 2019.05.09 |
CKAN DataSet 등록 시 사용된 테이블 분석 (1) | 2019.05.09 |
CKAN DB 리버스 모델링 (0) | 2019.05.09 |