1. ホーム
  2. database

[解決済み] PostgreSQL どのクエリが実行されたかを確認する方法

2023-06-18 19:18:59

質問

私のコンピュータにPostgreSQLのDBがあり、その上でクエリを実行するアプリケーションを持っています。

どのクエリが私のDB上で実行されたかを見るにはどうしたらよいでしょうか。

私はLinuxコンピュータとpgadminを使用しています。

どのように解決するのですか?

サーバーのログを表示するようにします。

log_statement = all

これは、データベースサーバーへのすべての呼び出しをログに記録します。

私なら log_statement = all は使いません。巨大なログファイルを生成します。

logging-parametersについてのマニュアルです。

log_statement ( enum )

どの SQL 文がログに記録されるかを制御します。有効な値は none (オフ) です。 ddl , mod そして all (すべてのステートメント) を使用します。[...]

をリセットする log_statement パラメータをリセットするには、サーバーの再読み込みが必要です ( SIGHUP ). 再読み込みは ではなく が必要です。読む をお読みください。 .

サーバログとpgAdminのログを混同しないでください。2つの異なるものです!

ファイルにアクセスでき(リモートサーバではそうではないかもしれません)、正しく設定されていれば、pgAdminでサーバログファイルを見ることもできます。pgadmin IIIで、見てみてください。 Tools -> Server status . このオプションはpgadmin4で削除されました。

私は、サーバログファイルの読み込みを vim (あるいはお好みのエディタ/リーダー) を使って読むのが好きです。