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