このトピックでは、 PolarDB for PostgreSQLのビューについて説明します。 ビューをクエリしてオブジェクト情報を取得できます。 これにより、パフォーマンスの問題を特定できます。
表
- pg_stat_all_テーブルpg_stat_all_tablesビューには、現在のデータベースの各テーブルのアクセス統計が表示されます。 次の表に、このビューのパラメーターを示します。
パラメーター データ型 説明 reridoid テーブルのOID。 schemanamename テーブルが属するスキーマ名 relnamename テーブルの名前。 seq_scanbigint テーブルで開始されたシーケンシャルスキャンの数。 seq_tup_readbigint シーケンシャルスキャンによって取得されたライブ行の数。 idx_scanbigint テーブルで開始されたインデックススキャンの数。 idx_tup_fetchbigint インデックススキャンによって取得されたライブ行の数。 n_tup_insbigint 挿入された行の数。 n_tup_updbigint 更新された行の数。 これには、ヒープのみのタプル (HOT) 機能によって更新される行が含まれます。 n_tup_delbigint テーブルから削除された行の数。 n_tup_hot_updbigint HOT機能によって更新された行数。 行は、インデックスを個別に更新する必要なしに更新されます。 n_live_tupbigint ライブ行の推定数。 n_dead_tupbigint デッド行の推定数。 n_mod_since_analyzebigint テーブルが最後に分析された後に変更された行の推定数。 last_vacuumタイムゾーンのタイムスタンプ テーブルが手動で掃除機をかけられた最新の時間。 VACUUM FULLステートメントで消費された時間はカウントされません。 last_autovacuumタイムゾーンのタイムスタンプ 自動バキュームのデーモンプロセスによってテーブルが自動的にバキュームされた最新の時刻。 last_analyzeタイムゾーンのタイムスタンプ テーブルが手動で分析された最新の時刻。 last_autoanalyzeタイムゾーンのタイムスタンプ 自動掃除機のデーモンプロセスによってテーブルが自動的に分析された最新の時刻。 vacuum_countbigint 手動真空テーブル操作の数。 この値には、VACUUM FULLステートメントを実行してテーブルをバキュームする回数は含まれません。 autovacuum_countbigint 自動真空デーモンによる自動真空テーブル操作の数。 analyze_countbigint 手動分析テーブル操作の数。 autoanalyze_countbigint 自動真空デーモンによって真空にされたテーブルに対する分析操作の数。 - pg_statio_all_テーブルpg_statio_all_tablesビューは、現在のデータベースの各テーブルのI/O統計を指定します。 次の表に、このビューのパラメーターを示します。
パラメーター データ型 説明 reridoid テーブルのOID。 schemanamename テーブルが属するスキーマ名 relnamename metatableの名前。 heap_blks_readbigint テーブルから読み取られたディスクブロックの数。 heap_blks_ヒットbigint テーブル内のバッファキャッシュヒット数。 idx_blks_readbigint テーブル内のすべてのインデックスから読み取られるディスクブロックの数。 idx_blks_ヒットbigint テーブル内のすべてのインデックスのバッファキャッシュヒット数。 toast_blks_読み取りbigint テーブルに関連付けられているTOASTテーブルから読み取られるディスクブロックの数。 toast_blks_ヒットbigint テーブルに関連付けられたTOASTテーブル内のバッファキャッシュヒット数。 tidx_blks_readbigint テーブルに関連付けられているTOASTテーブルのインデックスから読み取られるディスクブロックの数。 tidx_blks_ヒットbigint テーブルに関連付けられているTOASTテーブルのインデックスのバッファキャッシュヒット数。
インデックス
- pg_stat_all_インデックス
現在のデータベースの各インデックスのアクセス統計を取得するには、pg_stat_all_indexesビューを照会します。
単純なインデックススキャンまたはビットマップスキャンを実行して、インデックスにアクセスできます。 オプティマイザを使用してインデックスにアクセスすることもできます。 ビットマップスキャンでは、ANDまたはorルールを使用して、複数のインデックスの出力を組み合わせることができます。 ビットマップスキャンを使用すると、フェッチされた個々の行を特定のインデックスに関連付けることはできません。 したがって、ビットマップスキャンでは、インデックスに対してpg_stat_all_indexes.idx_tup_readで指定された値が増加し、テーブルごとにpg_stat_all_tables.idx_tup_fetchで指定された値も増加します。 pg_stat_all_indexes.idx_tup_fetchで指定された値は影響を受けません。 指定された定数値がオプティマイザ統計の範囲内にない場合、オプティマイザはインデックスにアクセスして値をチェックします。パラメーター データ型 説明 reridoid インデックスのテーブルのOID。 indexreridoid インデックスのOID。 schemanamename インデックスが属するスキーマの名前 relnamename インデックスのテーブルの名前。 indexrelnamename インデックスの名前。 idx_scanbigint インデックスで開始されたスキャンの数。 idx_tup_readbigint インデックスのスキャンによって返されるインデックス項目の数。 idx_tup_fetchbigint 単純インデックスがこのインデックスを使用して取得するライブテーブルの行数。 - pg_statio_all_インデックスこのビューには、現在のデータベースの各インデックスの読み取りディスクブロックの合計数とバッファキャッシュヒット数が表示されます。 このビューには、現在のデータベース内の指定されたインデックスに関するI/O統計も表示されます。 下表に、各パラメーターを説明します。
パラメーター データ型 説明 reridoid インデックスのテーブルのOID。 indexreridoid インデックスのOID。 schemanamename インデックスが存在するスキーマの名前。 relnamename インデックスのテーブルの名前。 indexrelnamename インデックスの名前。 idx_blks_readbigint インデックスから読み取られたディスクブロックの数。 idx_blks_ヒットbigint インデックスのバッファキャッシュヒット数。
シーケンス
pg_statio_all_sequences
このビューには、現在のデータベースに関連するシーケンスに関する情報と、指定されたシーケンスに関するI/O統計が表示されます。 下表に、各パラメーターを説明します。
| パラメーター | データ型 | 説明 |
rerid | oid | シーケンスのOID。The OID of the sequence. |
schemaname | name | シーケンスが属するスキーマの名前。 |
relname | name | シーケンスの名前。 |
blks_read | bigint | シーケンスから読み取られたディスクブロックの数。 |
blks_ヒット | bigint | シーケンス内のバッファキャッシュヒット数。 |
関数
pg_stat_user_関数
このビューには、追跡された関数に関する統計が表示されます。
| パラメーター | データ型 | 説明 |
funcid | oid | 関数のOID。 |
schemaname | name | 関数が属するスキーマの名前。 |
funcname | name | 関数の名前。 |
呼び出し | bigint | 関数の呼び出し数。 |
total_time | ダブル精度 | 関数とこの関数が呼び出す関数を呼び出すために消費された合計時間。 単位:ミリ秒。 |
self_time | ダブル精度 | 関数の呼び出しに費やされた合計時間。 合計時間には、この関数が呼び出す関数を呼び出すのにかかる時間は含まれません。 単位:ミリ秒。 |