私のコンピューターには PostgreSQL DB があり、クエリを実行するアプリケーションがあります。
DB で実行されたクエリを確認するにはどうすればよいですか?
Linux コンピューターと pgadmin を使用しています。
私のコンピューターには PostgreSQL DB があり、クエリを実行するアプリケーションがあります。
DB で実行されたクエリを確認するにはどうすればよいですか?
Linux コンピューターと pgadmin を使用しています。
サーバー ログをオンにします。
log_statement = all
これにより、データベース サーバーへのすべての呼び出しがログに記録されます。
log_statement = all
本番サーバーでは使用しません。巨大なログ ファイルを生成します。
ロギングパラメータに関するマニュアル:
log_statement
(enum
)ログに記録する SQL ステートメントを制御します。有効な値は、
none
(オフ)ddl
、、、mod
およびall
(すべてのステートメント) です。[...]
パラメータをリセットするにlog_statement
は、サーバーのリロードが必要です ( SIGHUP
)。再起動は必要ありません。パラメータの設定方法については、マニュアルを参照してください。
サーバー ログと pgAdmin のログを混同しないでください。2つの異なること!
ファイルにアクセスできる場合 (リモート サーバーの場合はそうでない場合もあります)、正しく設定されている場合は、pgAdmin でサーバー ログ ファイルを確認することもできます。pgadmin III で、以下を見てくださいTools -> Server status
。そのオプションは pgadmin4 で削除されました。
サーバーログファイルをvim
(または任意のエディター/リーダーで)読み取ることを好みます。
PostgreSql は、ロギング技術に関連する場合、非常に高度です。
ログは に保存されInstallationfolder/data/pg_log folder
ます。ログ設定はpostgresql.conf
ファイルに配置されます。
通常、ログ形式は として設定されstderr
ます。ただし、CSV ログ形式をお勧めします。で CSV 形式の変更を有効にするには
log_destination = 'stderr,csvlog'
logging_collector = on
新しいインストールに非常に役立つすべてのクエリをログに記録するには、min を設定します。クエリの実行時間
log_min_duration_statement = 0
データベースでアクティブなクエリを表示するには、次を使用します
SELECT * FROM pg_stat_activity
特定のクエリをログに記録するには、クエリの種類を設定します
log_statement = 'all' # none, ddl, mod, all
Logging クエリの詳細については、PostgreSql Logを参照してください。
postgres 10.6 でDjangoを使用している間、ログはデフォルトで有効になっていました。
tail -f /var/log/postgresql/*
Ubuntu 18.04、ジャンゴ 2+、python3+