Database
Postgres:如何查看數據庫伺服器正在執行的所有 SQL 語句?
出於性能原因,我正在審查應用程序針對數據庫所做的每條 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
文件。