RDS PostgreSQL での SQL 統計
Performance Insights は、SQL 呼び出しごとおよびクエリが実行中の 1 秒ごとに SQL 統計を収集します。RDS for PostgreSQL は SQL 統計をダイジェストレベルでのみ収集します。ステートメントレベルでは、統計は表示されません。
RDS for PostgreSQL のダイジェストレベルの統計の詳細については、以下を参照してください。
RDS PostgreSQL でのダイジェスト統計
SQL ダイジェストの統計を表示するには、RDS PostgreSQL が pg_stat_statements
ライブラリをロードする必要があります。PostgreSQL 11 以降と互換性のある PostgreSQL DB インスタンスでは、このライブラリはデフォルトでロードされます。PostgreSQL 10 以前と互換性のある PostgreSQL DB インスタンスでは、このライブラリをマニュアルで有効にします。手動で有効にするには、DB インスタンスに関連付けられた DB パラメータグループの shared_preload_libraries
に pg_stat_statements
を追加します。次に DB インスタンスを再起動します。詳細については、「Amazon RDS のパラメータグループ」を参照してください。
注記
Performance Insights は、切り捨てられない pg_stat_activity
内のクエリの統計のみを収集できます。デフォルトでは、PostgreSQL データベースは 1,024 バイトより長い問い合わせを切り捨てます。問い合わせサイズを増やすには、DB インスタンスに関連付けられた DB パラメータグループの track_activity_query_size
パラメータを変更します。このパラメータを変更した場合は、DB インスタンスの再起動が必要です。
RDS PostgreSQL での秒単位のダイジェスト統計
PostgreSQL DB インスタンスでは、次の SQL ダイジェストの統計を使用できます。
メトリクス | 単位 |
---|---|
db.sql_tokenized.stats.calls_per_sec | 1 秒あたりの呼び出し数 |
db.sql_tokenized.stats.rows_per_sec | 1 秒あたりの行数 |
db.sql_tokenized.stats.total_time_per_sec | 1 秒あたりの平均アクティブ実行 (AAE) |
db.sql_tokenized.stats.shared_blks_hit_per_sec | 1 秒あたりのブロックヒット数 |
db.sql_tokenized.stats.shared_blks_read_per_sec | 1 秒あたりのブロック読み取り数 |
db.sql_tokenized.stats.shared_blks_dirtied_per_sec | 1 秒あたりのダーティになったブロック数 |
db.sql_tokenized.stats.shared_blks_written_per_sec | 1 秒あたりのブロック書き込み数 |
db.sql_tokenized.stats.local_blks_hit_per_sec | 1 秒あたりのローカルブロックヒット数 |
db.sql_tokenized.stats.local_blks_read_per_sec | 1 秒あたりのローカルブロック読み取り数 |
db.sql_tokenized.stats.local_blks_dirtied_per_sec | 1 秒あたりのローカルブロックのダーティの数 |
db.sql_tokenized.stats.local_blks_written_per_sec | 1 秒あたりのローカルブロック書き込み数 |
db.sql_tokenized.stats.temp_blks_written_per_sec | 1 秒あたりの一時的な書き込み数 |
db.sql_tokenized.stats.temp_blks_read_per_sec | 1 秒あたりの一時的な読み取り数 |
db.sql_tokenized.stats.blk_read_time_per_sec | 1 秒あたりの平均的な同時読み取り数 |
db.sql_tokenized.stats.blk_write_time_per_sec | 1 秒あたりの平均的な同時書き込み数 |
RDS PostgreSQL のコールごとのダイジェスト統計
以下のメトリクスは、SQL ステートメントの呼び出しごとの統計を提供します。
メトリクス | 単位 |
---|---|
db.sql_tokenized.stats.rows_per_call | 呼び出しごとの行数 |
db.sql_tokenized.stats.avg_latency_per_call | 呼び出しごとの平均レイテンシー (ミリ秒) |
db.sql_tokenized.stats.shared_blks_hit_per_call | 呼び出しごとのブロックヒット数 |
db.sql_tokenized.stats.shared_blks_read_per_call | 呼び出しごとのブロック読み取り数 |
db.sql_tokenized.stats.shared_blks_written_per_call | 呼び出しごとのブロック書き込み数 |
db.sql_tokenized.stats.shared_blks_dirtied_per_call | 呼び出しあたりのダーティになったブロック数 |
db.sql_tokenized.stats.local_blks_hit_per_call | 呼び出しあたりのローカルブロックヒット数 |
db.sql_tokenized.stats.local_blks_read_per_call | 呼び出しあたりのローカルブロック読み取り数 |
db.sql_tokenized.stats.local_blks_dirtied_per_call | 呼び出しあたりのローカルブロックのダーティの数 |
db.sql_tokenized.stats.local_blks_written_per_call | 呼び出しあたりのローカルブロック書き込み数 |
db.sql_tokenized.stats.temp_blks_written_per_call | 呼び出しあたりのテンポラリブロック書き込み数 |
db.sql_tokenized.stats.temp_blks_read_per_call | 呼び出しあたりのテンポラリブロック読み取り数 |
db.sql_tokenized.stats.blk_read_time_per_call | 呼び出しごとの読み取り時間 (ミリ秒) |
db.sql_tokenized.stats.blk_write_time_per_call | 呼び出しごとの書き込み時間 (ミリ秒) |
これらのメトリクスの詳細については、PostgreSQL ドキュメントの「pg_stat_statements