PostgreSQL 8.3で実行された全てのSQLのロギングを有効にするにはどうすればいいですか?
編集(詳細)これらの行を変更しました。
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_statement = 'all'
そしてPostgreSQLサービスを再起動してください...しかしログが作成されていません...私はWindows Server 2003を使用しています。
何か案は?
data/postgresql.conf
ファイルで、log_statement
設定を'all'
に変更します。
編集
あなたの新しい情報を見て、私は確認するために他のいくつかの設定があるかもしれないと言うでしょう:
log_destination
変数をオンにしていることを確認してくださいlogging_collector
をオンにしてくださいlog_directory
ディレクトリがdata
ディレクトリの中にすでに存在していることと、postgresユーザがそれに書き込めることを確認してください。/etc/postgresql/9.3/main/postgresql.conf
を編集して、以下のように行を変更してください。
注:postgresql.conf
ファイルが見つからなかった場合は、端末で$locate postgresql.conf
と入力してください。
#log_directory = 'pg_log'
からlog_directory = 'pg_log'
#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
からlog_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
#log_statement = 'none'
からlog_statement = 'all'
#logging_collector = off
からlogging_collector = on
オプション:SELECT set_config('log_statement', 'all', true);
Sudo /etc/init.d/postgresql restart
またはSudo service postgresql restart
Postgresqlでクエリを起動するselect 2+2
現在のログを/var/lib/pgsql/9.2/data/pg_log/
で探す
ログファイルは時間とともに大きくなる傾向があり、あなたのマシンを殺すかもしれません。安全のため、ログを削除してpostgresqlサーバーを再起動するbashスクリプトを作成してください。
@ Paul、@ Jarret Hardie、@Zoltán、@ Rix Beck、@ Latif Premaniに感謝します
SELECT set_config('log_statement', 'all', true);
対応するユーザー権限では、接続後に上記のクエリを使用できます。これはセッションが終了するまでロギングに影響します。
また、PostgreSQLにこれらの行を追加してサーバを再起動する必要があります。
log_directory = 'pg_log'
log_filename = 'postgresql-dateformat.log'
log_statement = 'all'
logging_collector = on
log_statement
をall
に設定します。
FYI:他の解決策は他のものをログに記録するためにデフォルトデータベースからのステートメント(通常はpostgres
)のみをログ記録するでしょう。彼らの解決策から始めましょう。その後:
ALTER DATABASE your_database_name
SET log_statement = 'all';
上記の答えに+1します。私は以下の設定を使用します
log_line_prefix = '%t %c %u ' # time sessionid user
log_statement = 'all'
PostgreSQL 9.2を実行しているCentOS 6.4(Red Hat 4.4.7-3)の詳細については、 このWebページ上 の説明に基づいてください。
log_statement = 'all'
にlog_min_error_statement = error
と/var/lib/pgsql/9.2/data/postgresql.conf
を設定(コメント解除)します。/usr/pgsql-9.2/bin/pg_ctl reload -D /var/lib/pgsql/9.2/data/
を実行することによって行われました。/var/lib/pgsql/9.2/data/pg_log/
で探す