UbuntuでPostgresql 9.1
を実行しています。私のパッケージマネージャーが示すように、正確なPostgresqlバージョンは9.1+129ubuntu1
です。
アクティブに使用されている2つのデータベースがあり、それらはリモートサーバーから使用されます。
実行時間が長いクエリをログに記録したい。だから私は/etc/postgresql/9.1/main/postgresql.conf
ファイルに次のパラメータを設定しました
log_min_duration_statement = 10000
log_statement = 'mod'
そのため、Postgresqlは10秒以上かかるクエリをログに記録します。
しかし、postgres構成をreload
すると、Postgresqlはlog_statement
値に適合するすべてのクエリのログを記録し始めます。念のため、期間を100秒に設定したこと
log_min_duration_statement = 100000
ただし、Postgresqlは、log_statement
値に関係なく、log_min_duration_statement
値に適合するすべてのクエリをログに記録し続けます。
log_statement
をnone
に設定すると、ロギングが停止したようです。
構成について見逃したことはありますか?
あなたは近くにいた。あなたの最後のアイデアは実際に行く方法です:
log_statement = none
log_min_duration_statement = 10000
その後、クエリ文字列自体を含め、10秒より長く実行されているステートメントを除いて、ステートメントはログに記録されません。 10秒が高いしきい値であるため、ロギングが停止したように見えた可能性があります。普段は2秒使っていますが、YMMV。
SOに関するこの関連回答には、さらに多くの情報があります。
log_min_duration_statementを機能させることができません