これらのパラメータは、サーバ全体の統計情報収集機能を制御します。
統計情報収集が有効ならば、生成されるデータはpg_statとpg_statio系のシステムビュー経由でアクセス可能です。
詳細は第28章を参照してください。
track_activities (boolean)
各セッションで実行中のコマンドに関する情報と、そのコマンドの識別子および実行開始時刻の収集を有効にします。
このパラメータはデフォルトで有効です。
有効な場合であっても、すべてのユーザがこの情報を見ることができず、スーパーユーザ、pg_read_all_statsロール権限を持つロール、報告対象のセッション(権限を持つロールに所属するセッションを含みます)の所有者のみから可視である点に注意してください。
このためセキュリティ上の危険性はありません。
スーパーユーザのみがこの設定を変更することができます。
track_activity_query_size (integer)
pg_stat_activity.queryフィールドに対し、それぞれの活動中のセッションで現在実行されているコマンドを追跡記録するため予約されるメモリ量を指定します。
この値が単位なしで指定された場合は、バイト単位であるとみなします。
デフォルトの値は1024バイトです。
このパラメータはサーバ起動時のみ設定可能です。
track_counts (boolean)
データベースの活動についての統計情報の収集を有効にします。 収集される情報を自動バキュームデーモンが必要とするため、このオプションはデフォルトで有効です。 スーパーユーザのみがこの設定を変更することができます。
track_io_timing (boolean)
データベースによるI/O呼び出しの記録を有効にします。
このパラメータはデフォルトで無効になっています。その理由は、現時点の時刻をオペレーティングシステムに繰り返し問い合わせるので、プラットフォームによっては深刻な負荷の原因になるからです。
使用しているシステムにおける負荷のタイミングを計測するためpg_test_timingツールが使用できます。
I/O呼び出し情報は、pg_stat_databaseに表示されます。
BUFFERSオプションが設定されている時はEXPLAIN の出力として、またlog_autovacuum_min_durationが設定されている時はpg_stat_statementsにより表示されます。
スーパーユーザのみこの設定を変更できます。
track_wal_io_timing (boolean)
データベースによるWAL I/O呼び出しの記録を有効にします。
このパラメータはデフォルトで無効になっています。その理由は、現時点の時刻をオペレーティングシステムに繰り返し問い合わせるので、プラットフォームによっては深刻な負荷の原因になるからです。
使用しているシステムにおける負荷のタイミングを計測するためpg_test_timingツールが使用できます。
I/O呼び出し情報は、pg_stat_walに表示されます。
スーパーユーザのみこの設定を変更できます。
track_functions (enum)
関数の呼び出し数と費やされた時間の追跡を有効にします。
手続き言語関数のみを追跡するためにはplと指定してください。
SQL関数、C言語関数も追跡するためにはallと指定してください。
デフォルトは、統計情報追跡機能を無効にするnoneです。
スーパーユーザのみがこの設定を変更できます。
呼び出す問い合わせ内に「インライン化」できる位単純なSQL言語関数は、この設定と関係なく、追跡されません。
stats_temp_directory (string)
統計情報データを一時的に格納するディレクトリを設定します。
これをデータディレクトリからの相対パスとすることも絶対パスとすることもできます。
デフォルトはpg_stat_tmpです。
これをRAMベースのファイルシステムを指し示すようにすることで物理I/O要求が減り、性能を向上させることができます。
このパラメータは、postgresql.confファイルまたはサーバのコマンドラインのみで設定可能です。
compute_query_id (enum)
組み込みの問い合わせ識別子の計算を有効にします。
問い合わせ識別子は、pg_stat_activityビュー、EXPLAIN、あるいはlog_line_prefixパラメータが設定されていればログに出力されます。
pg_stat_statements拡張も問い合わせ識別子の計算が必要です。
組み込みの計算が許容できなければ、外部モジュールを代わりに利用することができることに注意してください。
この場合、組み込みの計算は常に無効にしなければなりません。
有効な値は、off(常に無効)、on(常に有効)、pg_stat_statementsのようなモジュールによって自動的に有効になるauto、自動回帰テストを機能させるために、問い合わせ識別子がEXPLAIN出力に表示されないことを除けばautoと同じ効果を持つregressです。
デフォルトはautoです。
一つの問い合わせ識別子のみが計算されて表示されることを確実にするために、問い合わせ識別子を計算する拡張は、問い合わせ識別子がすでに計算済みのときにエラーを生じるようにすべきです。
log_statement_stats (boolean)
log_parser_stats (boolean)
log_planner_stats (boolean)
log_executor_stats (boolean)
各問い合わせに対し、対応するモジュールの性能に関する統計情報をサーバログに出力します。
これは、Unixのgetrusage()オペレーティングシステム機能に類似した、雑なプロファイリング手段です。
log_statement_statsは文に関する統計情報全体を、この他はモジュール毎の統計情報を報告します。
log_statement_statsとモジュール毎のオプションを一緒に有効にすることはできません。
デフォルトでこれらのオプションはすべて無効です。
スーパーユーザのみがこの設定を変更することができます。