SQL Server 프로파일 러와 동등한 PostgreSQL이 있습니까?
PostgreSQL 서버에 제출 된 쿼리를 확인해야합니다. 일반적으로 SQL Server 프로파일 러를 사용하여 SQL Server 영역에서이 작업을 수행하지만 PostgreSQL에서이 작업을 수행하는 방법을 아직 찾지 못했습니다. 유료 도구가 꽤 많이있는 것으로 보이지만 오픈 소스 변형이 있기를 바랍니다.
log_statement 구성 설정을 사용하여 서버에 대한 모든 쿼리 목록을 가져올 수 있습니다.
https://www.postgresql.org/docs/current/static/runtime-config-logging.html#guc-log-statement
그것을 설정하고 로깅 파일 경로를 설정하면 목록이 표시됩니다. 장기 실행 쿼리 만 기록하도록 구성 할 수도 있습니다.
그런 다음 해당 쿼리를 가져 와서 EXPLAIN을 실행하여 무슨 일이 일어나고 있는지 알아낼 수 있습니다.
https://www.postgresql.org/docs/9.2/static/using-explain.html
Joshua의 답변에 추가하여 현재 실행중인 쿼리 를 확인 하려면 언제든지 다음 문을 실행 하면됩니다 (예 : PGAdminIII의 쿼리 창에서).
SELECT datname,procpid,current_query FROM pg_stat_activity;
샘플 출력 :
datname | procpid | current_query
---------------+---------+---------------
mydatabaseabc | 2587 | <IDLE>
anotherdb | 15726 | SELECT * FROM users WHERE id=123 ;
mydatabaseabc | 15851 | <IDLE>
(3 rows)
나는 pgBadger ( http://dalibo.github.io/pgbadger/ )를 발견했고 여러 번 내 생명을 구한 환상적인 도구입니다. 다음은 보고서의 예입니다. http://dalibo.github.io/pgbadger/samplev4.html . 그것을 열고 '상단'메뉴로 이동하면 가장 느린 쿼리와 시간이 많이 걸리는 쿼리를 볼 수 있습니다. 그런 다음 세부 사항을 물어보고 시간별로 쿼리를 보여주는 멋진 그래프를 볼 수 있으며 세부 사항 버튼을 사용하면 SQL 텍스트를 예쁜 형태로 볼 수 있습니다. 이 도구가 무료이고 완벽하다는 것을 알 수 있습니다.
PostgreSQL 서버에 제출 된 쿼리를 확인해야합니다.
옵션으로 pgAdmin을 사용하는 경우 (내 그림에서는 pgAdmin 4 v2.1). "대시 보드"탭을 통해 쿼리를 관찰 할 수 있습니다.
Joshua와 vladr의 대답에 추가
나를 위해 작동합니다.
postgresql.conf 열기
세트:
log_statement = 'mod'
log_min_messages = debug2
C : \ Program Files \ PostgreSQL \ 9.6 \ data \ pg_log \ 폴더에서 마지막 로그를 엽니 다.
쿼리가있을 것입니다.
postgresql-9.6.5-1을 사용합니다.
참고 URL : https://stackoverflow.com/questions/2430380/is-there-a-postgresql-equivalent-of-sql-server-profiler
'code' 카테고리의 다른 글
내 $ _ENV가 비어있는 이유는 무엇입니까? (0) | 2020.10.27 |
---|---|
SQL Server (localdb) \ v11.0 설명 (0) | 2020.10.27 |
컬렉션에 추가 한 다음 정렬하거나 정렬 된 컬렉션에 추가하는 것이 더 빠릅니까? (0) | 2020.10.27 |
C #에서 명령 줄 인수 이스케이프 (0) | 2020.10.27 |
Clojure 1.4에서 require 내에서 refer의 사용은 무엇입니까? (0) | 2020.10.27 |