STV_MV_INFO - Amazon Redshift

STV_MV_INFO

STV_MV_INFO テーブルには、すべてのマテリアライズドビューの行、データが古くなっているかどうか、およびステータス情報が含まれます。

マテリアライズドビューの詳細については、「Amazon Redshift でのマテリアライズドビューの作成」を参照してください。

STV_MV_INFO はすべてのユーザーに表示されます。スーパーユーザーはすべての行を表示できますが、通常のユーザーは自分のデータのみを表示できます。詳細については、「システムテーブルとビューのデータの可視性」を参照してください。

テーブルの列

列名 データ型 説明
db_name char(128) マテリアライズドビューを含むデータベース。
schema char(128) データベースのスキーマ。
name char(128) マテリアライズドビューの名前。
updated_upto_xid bigint 内部で使用するために予約しています。
is_stale char(1)

t は、マテリアライズドビューが古くなっていることを示します。古いマテリアライズドビューとは、ベーステーブルは更新されているが、マテリアライズドビューは更新されていないビューのことを指します。前回の再起動以降に更新が実行されていない場合、この情報は正確ではない可能性があります。

マテリアライズドビューが可変関数に依存している場合、is_stale 列は常に t に設定されます。可変関数は、同じ引数 (1 つまたは複数) が与えられた場合、異なる結果を返します。例えば、日付やタイムスタンプを返すほとんどの関数は可変関数です。

owner_user_name char(128) マテリアライズドビューを所有するユーザー。
state integer マテリアライズドビューの状態。
  • 0 – マテリアライズドビューは、更新時に完全に再計算されます。

  • 1 – マテリアライズドビューは増分です。

  • 101 – 削除された列があるため、マテリアライズドビューを更新できません。この制約は、列がマテリアライズドビューで使用されていない場合でも適用されます。

  • 102 – 列のタイプが変更されたため、マテリアライズドビューを更新できません。この制約は、列がマテリアライズドビューで使用されていない場合でも適用されます。

  • 103 – テーブル名が変更されたため、マテリアライズドビューを更新できません。

  • 104 – 列の名前が変更されたため、マテリアライズドビューを更新できません。この制約は、列がマテリアライズドビューで使用されていない場合でも適用されます。

  • 105 – スキーマ名が変更されたため、マテリアライズドビューを更新できません。

autorewrite char(1) t は、マテリアライズドビューがクエリの自動書き換えに適格であることを示します。
autorefresh char(1) t は、マテリアライズドビューを自動的に更新できることを示します。

サンプルクエリ

すべてのマテリアライズドビューのステータスを表示するには、次のクエリを実行します。

select * from stv_mv_info;

このクエリは次のサンプル出力を返します。

db_name | schema | name | updated_upto_xid | is_stale | owner_user_name | state | autorefresh | autorewrite ---------+--------------------+---------+------------------+----------+-----------------+-------+-------------+------------ dev | test_ivm_setup | mv | 1031 | f | catch-22 | 1 | 1 | 0 dev | test_ivm_setup | old_mv | 988 | t | lotr | 1 | 0 | 1