私は自分のコンピュータにPostgreSQL DBを持っており、その上でクエリを実行するアプリケーションを持っています。PostgreSQLどのクエリが実行されたかを確認する方法
DBで実行されたクエリを確認するにはどうすればよいですか?
私はLinuxコンピュータとpgadminを使用しています。サーバログに
私は自分のコンピュータにPostgreSQL DBを持っており、その上でクエリを実行するアプリケーションを持っています。PostgreSQLどのクエリが実行されたかを確認する方法
DBで実行されたクエリを確認するにはどうすればよいですか?
私はLinuxコンピュータとpgadminを使用しています。サーバログに
入れます:
log_statement = all
これは、データベース・サーバーへのすべての呼び出しを記録します。
私は生産的なサーバでlog_statement = all
を使用しません。巨大なログファイルを生成します。
The manual about logging-parameters:
log_statement
(enum
)SQL文がログに記録されているを制御します。有効な値は
none
(オフ)、ddl
、mod
、およびall
(すべてのステートメント)です。 [...]log_statement
パラメータをリセット
は、サーバのリロード(SIGHUP
)が必要です。再起動はではなく、が必要です。 the manual on how to set parametersを読んでください。
サーバログとpgAdminのログを混同しないでください。 2つの異なるもの!
ファイルへのアクセス権がある場合(リモートサーバではそうでない場合があります)、pgAdminのサーバログファイルを見て、正しく設定することもできます。見てください:Tools -> Server status
。 manual for pgAdmin IIIのサーバーステータスウィンドウについて詳しくは、こちらをご覧ください。
サーバーログファイルをvim
(または選択したエディタ/リーダー)で読むことをお勧めします。
ログは、インストールフォルダ/データ/ pg_logフォルダに格納されている伐採技術に関連したとき
Brandstetter私はログを見て、それをオフにします。 log_statement = allを作るだけで十分ですか?私はパッケージのインストールについて何か質問したが、サーバのステータスを開いたが、ウィンドウを開いて次のように書き込んだ。ログはこのサーバでは利用できない。私はpostgresqlを再起動すべきですか? – kamaci
@kamaci:私は追加情報で私の答えを修正しました。私が提供したリンクをたどってください。 –
PostgreSQLは非常に進んでいます。ログ設定はpostgresql.confファイルに格納されます。
ログ形式は通常stderrに設定されます。しかし、CSVログ形式を推奨します。すべてのクエリをログに記録するために
上
の実行時間は、データベースにアクティブなクエリを表示するには、特定のをログに記録するにはをpg_stat_activity
FROM
これは、ログの詳細については良いリンクが照会され
私がログを見つけましたbrewのMacインストールの/usr/local/var/log/postgres.logにあるファイル。
アプリケーションの外観やデータベースへのアクセス方法についての詳細は? –