カテゴリ:

システム関数 (システム情報)

SYSTEM$GET_TABLE_ARCHIVE_METADATA

アーカイブティアからのデータ取得を必要とせずに、テーブルのアーカイブデータに関するメタデータを返します。

こちらもご参照ください。

ストレージのライフサイクルポリシー, アーカイブデータを取得する

構文

SYSTEM$GET_TABLE_ARCHIVE_METADATA( '<table_name>' )

引数

'table_name'

アーカイブデータを含むテーブルの名前。テーブルには、通常はストレージライフサイクルポリシーによって、COOLティアまたはCOLDティアにアーカイブされているデータが含まれている必要があります。

戻り値

アーカイブデータに関するメタデータが存在するJSONを含むTEXT値を返します。このJSON構造には次の対象が含まれます。

  • rowCount:アーカイブ内の行数。

  • columns:各列のメタデータを含むオブジェクト。

    • column_id:(COLUMNSビューに示されている)列ID。

    • data_type:列のデータ型

    • min:列の最小値、または該当しない場合は``null``。

    • max:列の最大値、または該当しない場合は``null``。

注釈

TEXT、OBJECT、ARRAYおよびVARIANTのデータ型に対して、``min``および``max``の値は``null``です。

出力には、アーカイブタイムスタンプ列(METADATA$STORAGE_LIFECYCLE_POLICY_ARCHIVED_TIMESTAMP)も含まれます。これは、各行がアーカイブされた時点を示します。

**出力例: **

{
  "rowCount": 2304,
  "columns": {
    "CUSTOMER_ID": {
      "column_id": 10283,
      "data_type": "fixed",
      "min": -23,
      "max": 54032
    },
    "CUSTOMER_NAME": {
      "column_id": 10284,
      "data_type": "text",
      "min": null,
      "max": null
    },
    "METADATA$STORAGE_LIFECYCLE_POLICY_ARCHIVED_TIMESTAMP": {
      "data_type": "timestampltz",
      "min": "2025-01-02T03:04:05.6789Z",
      "max": "2025-11-12T13:14:15.1617Z"
    }
  }
}

使用上の注意

  • テーブルへのアクセス権を付与されているテーブルの所有者またはアカウント管理者(ACCOUNTADMINロールを付与されているユーザー)のみが、この関数を実行できます。

  • この関数を使用して、アーカイブティアからデータを取得するためのコストを発生させずに、アーカイブデータに関するメタデータを検査します。

  • ``column_id``フィールドは、列がドロップされ、同じ名前の新しい列が後で追加された場合に、列を区別するのに役立ちます。

  • 実際のアーカイブデータを取得するには、:ref:`CREATE TABLE ... FROM ARCHIVE OF <label-create_table_from_archive_of_syntax>`コマンドを使用します。

テーブルのアーカイブデータに関するメタデータを取得します。

SELECT SYSTEM$GET_TABLE_ARCHIVE_METADATA('my_database.my_schema.my_table');

JSON出力を解析して特定の情報を抽出します。

SELECT PARSE_JSON(SYSTEM$GET_TABLE_ARCHIVE_METADATA('my_database.my_schema.my_table')):rowCount AS archived_row_count;