Database

Postgres:如何查看數據庫伺服器正在執行的所有 SQL 語句?

  • May 10, 2018

出於性能原因,我正在審查應用程序針對數據庫所做的每條 SQL 語句。有沒有一種簡單的方法來記錄 PostgreSQL 數據庫伺服器執行的所有語句?謝謝。

您正在尋找的配置選項是log_statement = "all"(如果您只想要語句),或者log_min_statement_duration = <some number>如果您只是在“慢”查詢之後(對於“慢”的某些值)。有關日誌記錄配置的更多詳細資訊,請參閱http://www.postgresql.org/docs/current/static/runtime-config-logging.html

auto_explain模組對此非常有用。它不僅會記錄語句,還會記錄它們的執行計劃,甚至可以記錄在 PL/PgSQL 函式中執行的語句。除非啟用分析,否則性能影響相當低,在這種情況下,所有查詢都會產生相當多的時間成本。

請參閱auto_explain文件。

引用自:https://serverfault.com/questions/20106