RDS for PostgreSQL の postgres_get_av_diag() の関数 - Amazon Relational Database Service

RDS for PostgreSQL の postgres_get_av_diag() の関数

postgres_get_av_diag() 関数は、RDS for PostgreSQL データベースで妨害または遅延が生じている自動バキュームプロセスに関する診断情報を取得します。正確な結果を得るには、最も古いトランザクション ID を持つデータベースでクエリを実行する必要があります。最も古いトランザクション ID を持つデータベースを使用する方法の詳細については、「トランザクション ID の経過時間が最も古いデータベースに接続していない」を参照してください。

SELECT blocker, DATABASE, blocker_identifier, wait_event, TO_CHAR(autovacuum_lagging_by, 'FM9,999,999,999') AS autovacuum_lagging_by, suggestion, suggested_action FROM ( SELECT * FROM rds_tools.postgres_get_av_diag () ORDER BY autovacuum_lagging_by DESC) q;

postgres_get_av_diag() 関数は次の情報を含むテーブルを返します。

blocker

バキュームをブロックしているデータベースアクティビティのカテゴリを指定します。

database

該当しサポートされている場合にデータベースの名前を指定します。これは、アクティビティが進行中で、自動バキュームをブロックしている、またはこれからブロックするデータベースです。これは、接続してアクションを実行する必要があるデータベースです。

blocker_identifier

自動バキュームをブロックしている、またはこれからブロックするアクティビティの識別子を指定します。識別子は、プロセス ID に SQL ステートメント、準備済みトランザクション、リードレプリカの IP アドレス、および論理または物理レプリケーションスロットの名前を加えたものとなります。

wait_event

ブロックしているセッションの待機イベントを指定し、次のブロック要因に適用されます。

  • アクティブなステートメント

  • トランザクションでのアイドル状態

autovacum_lagging_by

バックログ作業で自動バキュームが停滞しているトランザクションの数をカテゴリごとに指定します。

suggestion

ブロック要因を解決するための推奨事項を指定します。これらの手順には、アクティビティが存在するデータベースの名前 (該当する場合)、セッションのプロセス ID (PID)(該当する場合)、および実行するアクションが含まれます。

suggested_action

ブロック要因を解決するために実行する必要があるアクションを提案します。