类别:

系统函数 (系统信息)

SYSTEM$GET_TABLE_ARCHIVE_METADATA

返回有关表的存档数据的元数据,无需从存档层检索数据。

另请参阅:

存储生命周期策略检索存档数据

语法

SYSTEM$GET_TABLE_ARCHIVE_METADATA( '<table_name>' )

实参

'table_name'

包含存档数据的表的名称。该表必须已将数据存档到 COOL 或 COLD 层,通常由存储生命周期策略决定。

返回

返回一个 TEXT 值,其中包含 JSON 和有关存档数据的元数据。JSON 结构包括:

  • rowCount:选择使用 时默认使用的角色和仓库。存档中的行数。

  • columns:选择使用 时默认使用的角色和仓库。包含每列元数据的对象:

    • column_id:选择使用 时默认使用的角色和仓库。列 ID(如 COLUMNS 视图所示)。

    • data_type:选择使用 时默认使用的角色和仓库。列数据类型

    • min:选择使用 时默认使用的角色和仓库。列的最小值,或者 ``null``(如果不适用)。

    • max:选择使用 时默认使用的角色和仓库。列的最大值,或者 ``null``(如果不适用)。

备注

对于TEXT、OBJECT、ARRAY 和 VARIANT 数据类型,minmax 值为 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 字段有助于区分列。

  • 要检索实际存档的数据,请使用 CREATE TABLE ... FROM ARCHIVE OF 命令。

示例

检索有关表的存档数据的元数据:

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;