11

Postgres 9.1 (Mac OSX での自作インストール) を実行していますが、postgres サーバーをより詳細に監視したいと考えています。

私の質問はログに関するものです。ターミナル ペインにログを表示したいと思います。Postgres のドキュメントがログについて述べていることは次のとおりです。

「Unix ライクなシステムでは、デフォルトで、サーバーの標準出力と標準エラーは pg_ctl の標準出力 (標準エラーではない) に送信されます。pg_ctl の標準出力は、ファイルにリダイレクトするか、ログなどの別のプロセスにパイプする必要があります。回転ログのような回転プログラム. そうしないと, postgres はその出力を (バックグラウンドから) 制御端末に書き込み, シェルのプロセスグループから離れません. Windows では, デフォルトでサーバーの標準出力と標準エラーが端末に送信されます. これらのデフォルトの振る舞い-l を使用してサーバーの出力をログ ファイルに追加することで変更できます。-l または出力リダイレクトの使用をお勧めします。"

したがって、postgres サーバーを次のように実行すると、次のようになります。

pg_ctl start -D /usr/local/var/postgres

ターミナル ウィンドウにログが表示されます。私が実行すると:

pg_ctl start -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log

ログはログファイルに送られ、ターミナルには表示されません。

要するに、(2 番目のコマンドを使用して) ログをファイルに送信した後、ログがコマンド ラインにも表示されるようにするために使用するコマンドを誰かが教えてくれれば素晴らしいことです。(Django で) 開発しているときに、SQL ステートメントがリアルタイムで実行されるのを監視するのに役立ちます。

4

2 に答える 2

19

次のコマンドでログを確認できます。

tail -f /usr/local/var/postgres/server.log
于 2012-08-04T05:02:13.123 に答える