パフォーマンス上の理由から、アプリケーションがデータベースに対して行うすべての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
はドキュメントにあります。