PG SQL統計
PG SQL統計は今後SQL統計(DB)に名称が変更される予定です。
PostgreSQLのpg_stat_statementsビューで提供するDB自体のSQL統計です。SQL別の実行回数、実行時間、処理Row数、ブロックI/Oなどのデルタ値をDBに直接照会することなく画面で確認できます。
-
エージェントが1時間間隔でデルタ値を計算して収集します。
-
エージェントオプション
statements_order_by基準(デフォルト値total_time)でstatements_row_limitまで収集します。(デフォルト値:5,000件) -
DBXエージェント1.6.10バージョン以上が必要です。
設定完了後、約1時間後にデータ収集が開始されます。
事前設定
画面にデータを表示するには、DB設定とエージェント設定を必ず設定する必要があります。
DB設定
-
pg_stat_statements拡張のインストール
pg_stat_statementsはPostgreSQLのcontribモジュールに含まれています。インストールされていない場合はパッケージをインストールします。# Red Hat / CentOS
yum install postgresql-contrib
# Debian / Ubuntu
apt-get install postgresql-contrib -
postgresql.confの設定
shared_preload_librariesにpg_stat_statementsを追加します。変更後、PostgreSQLの再起動が必要です。shared_preload_libraries = 'pg_stat_statements' -
拡張モジュールの作成
モニタリング対象データベースで拡張を作成します。
CREATE EXTENSION pg_stat_statements; -
インストール確認
SELECT * FROM pg_stat_statements LIMIT 1;
エージェント設定
PostgreSQLではstatementsオプションのデフォルト値がtrueのため、別途設定なしでSQL統計がデフォルト収集されます。収集を無効にするにはstatements=falseに設定してください。
| 設定項目 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
statements | boolean | true | SQL統計の収集有無を設定します。 |
詳細オプション
| 設定項目 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
statements_interval | int | 1 | SQL統計収集間隔(時間単位)。statements_interval=1に指定した場合、1時間周期で収集します。 |
statements_interval_min | int | 0 | SQL統計収集間隔(分単位)。statements_interval_min=10に指定した場合、10分周期で収集します。このオプションを設定するとstatements_intervalより優先されます。 |
statements_min_row | int | 10000 | SQL統計データを収集する基準。下記の収集基準を参照してください。 |
statements_row_limit | int | 5000 | 収集最大件数。statements_order_by基準の上位件数まで収集します。 |
statements_order_by | String | "total_time" | SQL統計情報を収集する際のソート基準を指定します。(例:statements_order_by=total_time,temp_blks_read) |
statements_schema | String | "" | pg_stat_statements拡張がwhatap.confのdbオプションに記入したDBにインストールされていない場合、拡張がインストールされているDB名を指定します。 |
収集基準(statements_min_row)
pg_stat_statementsのrows(該当クエリで出力または影響を受ける総Row数)がstatements_min_rowを超える場合に、該当SQLデータを収集します。
DBワークロードによってSQL収集量が多すぎるまたは少なすぎる場合、statements_min_rowとstatements_row_limitの値を調整して収集量を制御できます。