GoogleSQL 方言資料庫的資訊結構定義

資訊結構定義是每個 Spanner 資料庫都有的內建結構定義。您可以對 INFORMATION_SCHEMA 中的資料表執行 SQL 查詢,以擷取資料庫的結構定義中繼資料。

舉例來說,下列查詢會擷取資料庫中所有使用者定義資料表的名稱:

  SELECT
    table_schema,
    table_name
  FROM
    information_schema.tables
  WHERE
    table_schema NOT IN ('information_schema', 'SPANNER_SYS')
    AND table_type = 'BASE TABLE'

精細存取權控管機制會根據使用者的資料庫角色,篩選部分INFORMATION_SCHEMA資料表的結果。詳情請參閱「關於精細存取權控管」。

用量

INFORMATION_SCHEMA 資料表只能透過 SQL 介面使用,例如:

  • executeQuery API
  • gcloud spanner databases execute-sql 指令
  • Google Cloud 控制台中的資料庫「Spanner Studio」頁面

其他單一讀取方法不支援 INFORMATION_SCHEMA

其他 INFORMATION_SCHEMA 使用注意事項:

在 information_schema 資料表中篩選資料列

具備資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader system role (或該角色成員) 的主體,可以查看所有 information_schema 資料表中的所有資料列。如果是其他主體,系統會根據目前的資料庫角色,篩選部分資料表中的資料列。下節中的表格和檢視畫面說明,會指出每個表格和檢視畫面套用資料列篩選條件的方式。

INFORMATION_SCHEMA 中的資料表

以下各節說明 GoogleSQL 方言資料庫的 INFORMATION_SCHEMA 中的資料表。

SCHEMATA

INFORMATION_SCHEMA.SCHEMATA 資料表會列出資料庫中的結構定義,包括資訊結構定義和已命名的結構定義,其中包含您定義的資料表。

資料欄名稱 類型 說明
CATALOG_NAME STRING 目錄的名稱。這個資料欄的存在是為了與 SQL 標準資訊結構定義資料表相容。這個資料欄一律為空白字串。
SCHEMA_NAME STRING 結構定義的名稱。如果是已命名的結構定義,這個值就是名稱;如果是預設結構定義,這個值就是 ``。
PROTO_BUNDLE STRING 如果資料庫包含 Proto 組合陳述式,這個資料欄會提供結構定義中使用的 Proto 組合相關資訊。如果資料庫中沒有任何原型套件,這個欄則為 NULL。

DATABASE_OPTIONS

下表列出資料庫中設定的選項。

資料欄名稱 類型 說明
CATALOG_NAME STRING 目錄的名稱。一律為空字串。
SCHEMA_NAME STRING 結構定義的名稱。如果未命名,則為空字串。
OPTION_NAME STRING 資料庫選項名稱。
OPTION_TYPE STRING 資料庫選項的資料類型。
OPTION_VALUE STRING 資料庫選項值。

PLACEMENTS

這個表格會列出資料庫中的刊登位置。

資料欄名稱 類型 說明
PLACEMENT_NAME STRING 刊登位置名稱。
IS_DEFAULT BOOL 布林值,指出刊登位置是否為預設刊登位置。

PLACEMENT_OPTIONS

這個表格會列出 CREATE PLACEMENT 陳述式 OPTIONS 子句中,針對每個刊登位置設定的選項。

OPTION_NAME 的有效值包括:

  • instance_partition
  • default_leader
資料欄名稱 類型 說明
PLACEMENT_NAME STRING 刊登位置名稱。
OPTION_NAME STRING 刊登位置選項的名稱。
OPTION_TYPE STRING 刊登位置選項的資料類型。無論選擇哪種做法,這都是STRING(MAX)
OPTION_VALUE STRING 刊登位置選項的值。如果是 instance_partition,這是執行個體分區的名稱。對於 default_leader,這是預設主要區域的名稱。

LOCALITY_GROUP_OPTIONS

這個表格會列出每個地區群組的名稱,以及在 CREATE LOCALITY GROUP 陳述式的 OPTIONS 子句中,為地區群組設定的選項。

資料欄名稱 類型 說明
LOCALITY_GROUP_NAME STRING 地區群組的名稱。
OPTION_NAME STRING 地區群組選項的名稱。有效選項如下:
  • STORAGE:定義地域群組的儲存空間類型。
  • SSD_TO_HDD_SPILL_TIMESPAN:定義資料在移至 HDD 儲存空間前,於 SSD 儲存空間中儲存的時間長度。
OPTION_VALUE STRING 區域群組選項的值。如果是 STORAGE,則為 ssdhddSSD_TO_HDD_SPILL_TIMESPAN:這是資料必須儲存在 SSD 的時間長度,之後才會移至 HDD 儲存空間。舉例來說,10d 是 10 天。最短時間為一小時。

TABLES

這個經過列篩選的資料表會列出資料庫中的資料表和檢視區塊。擁有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能看到符合下列任一條件的資料表:

  • 系統會將 SELECTINSERTUPDATEDELETE 精細存取權控管權限授予目前資料庫角色的資料表、目前資料庫角色所屬的角色,或是 public
  • 系統會將 SELECTINSERTUPDATE 權限授予目前資料庫角色的任何資料表欄、目前資料庫角色所屬角色的任何資料表欄,或是 public
資料欄名稱 類型 說明
TABLE_CATALOG STRING 未使用。一律為空字串。
TABLE_SCHEMA STRING 資料表的結構定義名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值則包含值。這個資料欄一律包含值。
TABLE_NAME STRING 資料表、檢視區塊或同義字名稱。
TABLE_TYPE STRING 資料表類型。如果是資料表,值為 BASE TABLE;如果是檢視區塊,值為 VIEW;如果是同義字,值為 SYNONYM
PARENT_TABLE_NAME STRING 如果資料表是交錯資料表,這個資料欄為父項資料表的名稱,否則為 NULL
ON_DELETE_ACTION STRING 如果是交錯資料表,這個資料欄會設為 CASCADENO ACTION。如果不是,則會設為 NULL。詳情請參閱 TABLE 陳述式
SPANNER_STATE STRING 如果涉及大量作業,表格在建立期間可能會經歷多種狀態。舉例來說,如果建立資料表時使用外來鍵,則需要回填索引。可能的狀態包括:
  • ADDING_FOREIGN_KEY:新增資料表的外鍵。
  • WAITING_FOR_COMMIT:完成結構定義變更。
  • COMMITTED:建立資料表的結構定義變更已提交。變更提交前,您無法寫入資料表。
INTERLEAVE_TYPE STRING 表示這個資料表與交錯資料表之間是否有父項與子項關係的運算式文字。 可能的值包括:
  • IN:資料表沒有父項/子項關係。無論父項資料表列是否存在,這個資料表列都可以存在。
  • IN PARENT:資料表具有父項/子項關係。這個資料表中的資料列必須有父項資料表資料列。
  • 空字串表示這個資料表沒有交錯關係。
ROW_DELETION_POLICY_EXPRESSION STRING 定義資料表資料列刪除政策的運算式文字。例如 OLDER_THAN(CreatedAt, INTERVAL 1 DAY)OLDER_THAN(ExpiredDate, INTERVAL 0 DAY)

COLUMNS

這個經過資料列篩選的資料表會列出資料表中的資料欄。具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能查看符合下列任一條件的資料欄:

  • 直接授予目前資料庫角色、目前資料庫角色所屬角色,或 public 任何 SELECTINSERTUPDATE 精細存取權控管權限。
  • 在包含資料欄的資料表上,將任何 SELECTINSERTUPDATE 精細存取權控管權限授予目前的資料庫角色、目前資料庫角色所屬的角色,或 public
資料欄名稱 類型 說明
TABLE_CATALOG STRING 未使用。一律為空字串。
TABLE_SCHEMA STRING 資料欄資料表的結構定義名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值則包含值。這個資料欄一律包含值。
TABLE_NAME STRING 資料表的名稱。
COLUMN_NAME STRING 資料欄的名稱。
ORDINAL_POSITION INT64 資料欄在資料表中的序數位置,值從 1 開始。
COLUMN_DEFAULT STRING

資料欄預設值的 SQL 運算式字串表示法。如果資料欄沒有預設值,則為 NULL

注意:2022 年 3 月前,COLUMN_DEFAULT 使用的類型為 BYTES

DATA_TYPE STRING 為符合 SQL 標準而納入。一律 NULL。請參閱 欄 SPANNER_TYPE
IS_NULLABLE STRING 指定資料欄是否可為 Null 值的字串。依據 SQL 標準,字串為 YESNO,而不是布林值。
SPANNER_TYPE STRING 資料欄的資料類型
IS_GENERATED STRING 指定資料欄是否為產生的字串。如果是產生的資料欄,字串為 ALWAYS;如果不是產生的資料欄,字串為 NEVER
GENERATION_EXPRESSION STRING 代表所產生資料欄的 SQL 運算式字串。 NULL (如果該欄不是系統產生的欄)。
IS_STORED STRING 指出是否要儲存產生的資料欄的字串。 如果是產生的資料欄,這個字串一律為 YES;如果是非產生的資料欄,這個字串一律為 NULL
IS_HIDDEN STRING 如果資料欄未出現在 SELECT * 查詢中,則字串會設為 TRUE,否則會設為 FALSE。如果資料欄已隱藏,您仍可使用其名稱 (例如 SELECT Id, Name, ColHidden FROM TableWithHiddenColumn) 選取。
SPANNER_STATE STRING 資料欄的目前狀態。新增至現有資料表的儲存產生資料欄,可能需要經過多個使用者可觀察的狀態,才能完全可用。可能的值包括:
  • WRITE_ONLY:系統正在回填資料欄。不允許讀取。
  • COMMITTED:資料欄可正常使用。
IS_IDENTITY STRING 如果產生的資料欄是身分識別資料欄,則字串會設為 YES,否則為 NO
IDENTITY_GENERATION STRING 指定資料欄是否只允許系統產生的值,不允許使用者插入自訂值的字串。
  • BY DEFAULT:預設值。BY DEFAULT 指定在未提供使用者插入的值時,欄會使用產生的值。
  • ALWAYS:這個資料欄只允許系統產生的值,不允許使用者插入自訂值。
IDENTITY_KIND STRING 一律 BIT_REVERSED_POSITITVE_SEQUENCE。僅支援位元反轉的正序。
IDENTITY_START_WITH_COUNTER STRING 轉換前內部計數器的起始值。舉例來說,位元反轉前的起始值。
IDENTITY_SKIP_RANGE_MIN STRING 轉換後略過範圍的最小值。
IDENTITY_SKIP_RANGE_MAX STRING 轉換後略過範圍的最大值。

COLUMN_PRIVILEGES

這個經過資料列篩選的表格會列出授予任何資料庫角色 (包括 public) 的資料欄層級權限。具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,可以查看這個檢視畫面中的所有資料列。其他主體只能查看符合下列任一條件的資料欄權限:

  • 直接授予目前資料庫角色、目前資料庫角色所屬角色,或 public 任何 SELECTINSERTUPDATE 精細存取權控管權限。
  • 在包含資料欄的資料表上,將任何 SELECTINSERTUPDATE 精細存取權控管權限授予目前的資料庫角色、目前資料庫角色所屬的角色,或 public
資料欄名稱 類型 說明
TABLE_CATALOG STRING 未使用。一律為空字串。
TABLE_SCHEMA STRING 資料欄資料表的結構定義名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值則包含值。這個資料欄一律包含值。
TABLE_NAME STRING 包含具備存取權限資料欄的資料表名稱。
COLUMN_NAME STRING 具備存取權的資料欄名稱。
PRIVILEGE_TYPE STRING SELECTINSERTUPDATE
GRANTEE STRING 授予這項權限的資料庫角色名稱。

TABLE_PRIVILEGES

這個經過列篩選的表格會列出授予資料庫角色的所有資料表層級權限,包括 public。具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。如果目前資料庫角色、目前資料庫角色所屬的角色,或 public 獲授 SELECTINSERTUPDATEDELETE 細部存取控制權限,其他主體只能查看這些權限所適用的資料表。

資料欄名稱 類型 說明
TABLE_CATALOG STRING 未使用。一律為空字串。
TABLE_SCHEMA STRING 資料表的結構定義名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值則包含值。這個資料欄一律包含值。
TABLE_NAME STRING 授予精細存取權控管權限的資料表名稱。
PRIVILEGE_TYPE STRING SELECTINSERTUPDATEDELETE 其中之一
GRANTEE STRING 授予這項權限的資料庫角色名稱。

TABLE_CONSTRAINTS

這個資料表包含資料庫中為資料表定義的每個限制條件,各佔一行。

資料欄名稱 類型 說明
CONSTRAINT_CATALOG STRING 一律為空字串。
CONSTRAINT_SCHEMA STRING 限制的結構定義名稱。如果未命名,則為空字串。
CONSTRAINT_NAME STRING 限制的名稱。
TABLE_CATALOG STRING 受限資料表目錄的名稱。一律為空字串。
TABLE_SCHEMA STRING 受限資料表的結構定義名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值則包含值。這個資料欄一律包含值。
TABLE_NAME STRING 受限資料表的名稱。
CONSTRAINT_TYPE STRING 限制類型。可能的值包括:
  • PRIMARY KEY
  • FOREIGN KEY
  • PLACEMENT KEY
  • CHECK
  • UNIQUE
IS_DEFERRABLE STRING 一律 NO
INITIALLY_DEFERRED STRING 一律 NO
ENFORCED STRING 如果限制是 資訊性 (NOT ENFORCED) 外鍵,則為 NOYES,以強制執行外鍵或任何其他限制類型。

CONSTRAINT_TABLE_USAGE

這個表格列出定義或使用限制的資料表。包括定義 PRIMARY KEYUNIQUE 限制的資料表。也包括 FOREIGN KEY 定義的參照表格。

資料欄名稱 類型 說明
TABLE_CATALOG STRING 受限資料表目錄的名稱。一律為空字串。
TABLE_SCHEMA STRING 受限資料表的結構定義名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值則包含值。這個資料欄一律包含值。
TABLE_NAME STRING 受限資料表的名稱。
CONSTRAINT_CATALOG STRING 限制目錄的名稱。一律為空字串。
CONSTRAINT_SCHEMA STRING 限制的結構定義名稱。如果未命名,則為空字串。
CONSTRAINT_NAME STRING 限制的名稱。

REFERENTIAL_CONSTRAINTS

這個表格的每一列都代表一項 FOREIGN KEY 限制。

資料欄名稱 類型 說明
CONSTRAINT_CATALOG STRING 外部鍵目錄的名稱。一律為空字串。
CONSTRAINT_SCHEMA STRING 外部鍵的架構名稱。如果未命名,則為空字串。
CONSTRAINT_NAME STRING 外部鍵的名稱。
UNIQUE_CONSTRAINT_CATALOG STRING FOREIGN KEY 參照的 PRIMARY KEY 或 UNIQUE 限制目錄名稱。一律為空字串。
UNIQUE_CONSTRAINT_SCHEMA STRING FOREIGN KEY 參照的 PRIMARY KEY 或 UNIQUE 限制的結構定義名稱。如果未命名,則為空字串。
UNIQUE_CONSTRAINT_NAME STRING FOREIGN KEY 參照的 PRIMARY KEY 或 UNIQUE 限制名稱。
MATCH_OPTION STRING 一律 SIMPLE
UPDATE_RULE STRING 一律 NO ACTION
DELETE_RULE STRING CASCADENO ACTION
SPANNER_STATE STRING 外鍵的目前狀態。Spanner 會等到外鍵的支援索引建立並回填後,才開始強制執行限制。索引準備就緒後,Spanner 會開始對新交易強制執行限制,同時驗證現有資料。可能的值和這些值代表的狀態如下:
  • BACKFILLING_INDEXES:正在補充索引。
  • VALIDATING_DATA:系統正在驗證現有資料和新寫入的資料。
  • WAITING_FOR_COMMIT:外鍵大量作業已順利完成,或不需要任何作業,但外鍵仍處於待處理狀態。
  • COMMITTED:結構定義變更已提交。

CHECK_CONSTRAINTS

information_schema.CHECK_CONSTRAINTS 資料表包含以 CHECKNOT NULL 關鍵字定義的每個 CHECK 限制條件。

資料欄名稱 類型 說明
CONSTRAINT_CATALOG STRING 限制目錄的名稱。這個資料欄絕不會是 null 值,但一律是空白字串。
CONSTRAINT_SCHEMA STRING 限制的結構定義名稱。如果未命名,則為空字串。
CONSTRAINT_NAME STRING 限制的名稱。這個資料欄絕不會是 Null 值。如果未在結構定義中明確指定,系統會指派名稱。
CHECK_CLAUSE STRING CHECK 限制的運算式。這個資料欄絕不會是 Null 值。
SPANNER_STATE STRING CHECK 限制的目前狀態。這個資料欄絕不會是 Null 值。可能的狀態如下:
  • VALIDATING:Spanner 正在驗證現有資料。
  • COMMITTED:這項限制沒有進行中的結構定義變更。

KEY_COLUMN_USAGE

這個經過資料列篩選的資料表包含一個資料列,其中列出受 TABLE_CONSTRAINTSFOREIGN KEYUNIQUE 限制條件約束的資料表 TABLE_CONSTRAINTS 中每個資料欄。PRIMARY KEY具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能看到符合下列條件的資料欄:

  • 直接授予目前資料庫角色、目前資料庫角色所屬角色,或 public 任何 SELECTINSERTUPDATE 精細存取權控管權限。
  • 在包含資料欄的資料表上,將任何 SELECTINSERTUPDATE 精細存取權控管權限授予目前的資料庫角色、目前資料庫角色所屬的角色,或 public
資料欄名稱 類型 說明
CONSTRAINT_CATALOG STRING 限制目錄的名稱。一律為空字串。
CONSTRAINT_SCHEMA STRING 限制的結構定義名稱。這個資料欄絕不會是 Null 值。如果未命名,則為空白字串。
CONSTRAINT_NAME STRING 限制的名稱。
TABLE_CATALOG STRING 受限資料欄目錄的名稱。一律為空字串。
TABLE_SCHEMA STRING 受限資料欄資料表的結構定義名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值則包含值。這個資料欄一律包含值。
TABLE_NAME STRING 受限資料欄的資料表名稱。
COLUMN_NAME STRING 資料欄的名稱。
ORDINAL_POSITION INT64 資料欄在限制條件鍵中的序數位置,值從 1 開始。
POSITION_IN_UNIQUE_CONSTRAINT INT64 如果是 FOREIGN KEY,則為資料欄在唯一限制中的序數位置,值從 1 開始。如果是其他限制類型,這個資料欄會顯示為空值。

CONSTRAINT_COLUMN_USAGE

這個表格包含限制條件所用每個資料欄的一列。包括 PRIMARY KEYUNIQUE 資料欄,以及 FOREIGN KEY 限制條件的參照資料欄。

資料欄名稱 類型 說明
TABLE_CATALOG STRING 資料欄資料表目錄的名稱。一律為空字串。
TABLE_SCHEMA STRING 資料欄資料表的結構定義名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值則包含值。這個資料欄一律包含值。
TABLE_NAME STRING 資料欄所屬資料表的名稱。
COLUMN_NAME STRING 限制條件使用的資料欄名稱。
CONSTRAINT_CATALOG STRING 限制目錄的名稱。一律為空字串。
CONSTRAINT_SCHEMA STRING 限制的結構定義名稱。如果未命名,則為空字串。
CONSTRAINT_NAME STRING 限制的名稱。

TABLE_SYNONYMS

這個表格會列出資料表的同義字資訊。

資料欄名稱 類型 說明
TABLE_CATALOG STRING 未使用。一律為空字串。
TABLE_SCHEMA STRING 資料表的結構定義名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值則包含值。這個資料欄一律包含值。
TABLE_NAME STRING 資料表的名稱。
SYNONYM_CATALOG STRING 同義字目錄的名稱。
SYNONYM_SCHEMA STRING 同義字的結構定義名稱。
SYNONYM_TABLE_NAME STRING 同義字所屬資料表的名稱。

INDEXES

這個經過資料列篩選的資料表會列出資料庫中的索引。具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能看到符合下列任一條件的索引:

  • 系統會將 SELECTINSERTUPDATE 精細存取權控管權限,授予索引中所有資料欄的目前資料庫角色、目前資料庫角色所屬的角色,或是 public
  • 在具有索引的資料表上,授予目前資料庫角色、目前資料庫角色所屬角色,或 public 任何 SELECTINSERTUPDATEDELETE 細部存取權控制權限。
資料欄名稱 類型 說明
TABLE_CATALOG STRING 目錄的名稱。一律為空字串。
TABLE_SCHEMA STRING 索引資料表的結構定義名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值則包含值。這個資料欄一律包含值。
TABLE_NAME STRING 資料表的名稱。
INDEX_NAME STRING 索引的名稱。具有 PRIMARY KEY 規格的資料表有以 PRIMARY_KEY 名稱產生的虛擬索引項目,可讓系統判定主鍵欄位。
INDEX_TYPE STRING 索引的類型。類型為 INDEXPRIMARY_KEY
PARENT_TABLE_NAME STRING 如「建立次要索引」一文所述,次要索引可在父項資料表中交錯。這個資料欄會保留該父項資料表的名稱;如果索引不是交錯索引,則會保留空白字串。
IS_UNIQUE BOOL 索引鍵是否不得重複。
IS_NULL_FILTERED BOOL 索引是否包含具有 NULL 值的項目。
INDEX_STATE STRING 索引的目前狀態。可能的值和這些值代表的狀態如下:
  • PREPARE:為新索引建立空白資料表。
  • WRITE_ONLY:為新索引補充資料。
  • WRITE_ONLY_CLEANUP:清除新索引。
  • WRITE_ONLY_VALIDATE_UNIQUE:檢查新索引中的資料是否不重複。
  • READ_WRITE:一般索引作業。
SPANNER_IS_MANAGED BOOL 如果索引是由 Spanner 管理,則為 TRUE;否則為 FALSE。外鍵的次要支援索引由 Spanner 管理。

INDEX_COLUMNS

這個經過資料列篩選的資料表會列出索引中的資料欄。具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能看到符合下列任一條件的索引:

  • 系統會將 SELECTINSERTUPDATE 精細存取權控管權限,授予索引中所有資料欄的目前資料庫角色、目前資料庫角色所屬的角色,或是 public
  • 在具有索引的資料表上,將任何 SELECTINSERTUPDATE 精細存取權控管權限授予目前的資料庫角色、目前資料庫角色所屬的角色,或 public
資料欄名稱 類型 說明
TABLE_CATALOG STRING 目錄的名稱。一律為空字串。
TABLE_SCHEMA STRING 索引資料表的結構定義名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值則包含值。這個資料欄一律包含值。
TABLE_NAME STRING 資料表的名稱。
INDEX_NAME STRING 索引的名稱。
COLUMN_NAME STRING 資料欄的名稱。
ORDINAL_POSITION INT64 資料欄在索引 (或主鍵) 中的序數位置,值從 1 開始。如果是非鍵資料欄 (例如索引的 STORING 子句中指定的資料欄),這個值為 NULL
COLUMN_ORDERING STRING 資料欄的排序。如果是鍵資料欄,這個值為 ASCDESC;如果是非鍵資料欄 (例如索引的 STORING 子句中指定的資料欄),這個值為 NULL
IS_NULLABLE STRING 指定資料欄是否可為 Null 值的字串。依據 SQL 標準,字串為 YESNO,而不是布林值。
SPANNER_TYPE STRING 資料欄的資料類型

COLUMN_OPTIONS

這個經過資料列篩選的資料表會列出資料表中的資料欄選項。擁有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能查看符合下列任一條件的資料欄選項:

  • 直接授予目前資料庫角色、目前資料庫角色所屬角色,或 public 任何 SELECTINSERTUPDATE 精細存取權控管權限。
  • 在包含資料欄的資料表上,將任何 SELECTINSERTUPDATE 精細存取權控管權限授予目前的資料庫角色、目前資料庫角色所屬的角色,或 public
資料欄名稱 類型 說明
TABLE_CATALOG STRING 目錄的名稱。一律為空字串。
TABLE_SCHEMA STRING 結構定義的名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值是非空白 (例如 INFORMATION_SCHEMA 本身)。 這個資料欄絕不會是 Null 值。
TABLE_NAME STRING 資料表的名稱。
COLUMN_NAME STRING 資料欄的名稱。
OPTION_NAME STRING 可唯一識別選項的 SQL 識別碼。這個識別碼是 DDL 中 OPTIONS 子句的鍵。
OPTION_TYPE STRING 這個選項值類型的資料類型名稱。
OPTION_VALUE STRING 說明這個選項值的 SQL 常值。這個資料欄的值必須可做為查詢的一部分進行剖析。剖析值所產生的運算式必須可轉型為 OPTION_TYPE。這個資料欄絕不會是 Null 值。

SEQUENCES

下表列出序列中繼資料。SEQUENCES,如果具備精細存取權的使用者正在查詢,系統會根據精細存取權限對資料列進行篩選。

資料欄名稱 類型 說明
CATALOG STRING 包含序列的目錄名稱。
SCHEMA STRING 包含序列的結構定義名稱。
NAME STRING 序列名稱。
DATA_TYPE STRING 序列值的類型。使用 INT64 資料型別。

SEQUENCE_OPTIONS

下表列出序列的設定選項。SEQUENCE_OPTIONS 如果具備精細存取權的使用者查詢資料,系統會根據精細存取權篩選資料列。

資料欄名稱 類型 說明
CATALOG STRING 包含序列的目錄名稱。
SCHEMA STRING 包含序列的結構定義名稱。
NAME STRING 序列名稱。
OPTION_NAME STRING 序列選項的名稱。
OPTION_TYPE STRING 這個選項值類型的資料類型名稱。
OPTION_VALUE STRING 序列選項值。剖析值所產生的運算式必須允許轉型為 OPTION_TYPE

SPANNER_STATISTICS

下表列出可用的查詢最佳化工具統計資料套件。

資料欄名稱 類型 說明
CATALOG_NAME STRING 目錄的名稱。一律為空字串。
SCHEMA_NAME STRING 結構定義的名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值是非空白 (例如 INFORMATION_SCHEMA 本身)。 這個資料欄絕不會是 Null 值。
PACKAGE_NAME STRING 統計資料套件的名稱。
ALLOW_GC BOOL FALSE (如果統計資料套件可免除垃圾收集作業);否則為 TRUE
這個屬性必須設為 FALSE,才能在提示或透過用戶端 API 參照統計資料套件。

VIEWS

這個經過列篩選的資料表會列出資料庫中的檢視畫面。具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能查看已授予目前資料庫角色、目前資料庫角色所屬角色或 public SELECT 精細存取權控管權限的檢視區塊。

資料欄名稱 類型 說明
TABLE_CATALOG STRING 目錄的名稱。一律為空字串。
TABLE_SCHEMA STRING 結構定義的名稱。如果未命名,則為空字串。
TABLE_NAME STRING 檢視區塊的名稱。
VIEW_DEFINITION STRING 定義檢視表的查詢 SQL 文字。
SECURITY_TYPE STRING 檢視區塊的安全性類型。INVOKERDEFINER

詳情請參閱「關於檢視畫面」。

ROLES

這個經過資料列篩選的表格會列出為精細存取權控管定義的資料庫角色,包括系統角色。具備資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都可以查看所有資料庫角色。其他主體只能看到直接或透過繼承方式獲准存取的資料庫角色。

資料欄名稱 類型 說明
ROLE_NAME STRING 資料庫角色的名稱。
IS_SYSTEM BOOL 如果資料庫角色是系統角色,則為 TRUE;否則為 FALSE

ROLE_GRANTEES

這個經過列篩選的表格會列出明確授予所有資料庫角色的所有角色成員資格。具備資料庫層級 IAM 權限的主體,以及獲准存取spanner_info_reader系統角色或該角色成員的主體,都能查看這個檢視畫面中的所有資料列。其他主體只能看到授予目前資料庫角色或目前資料庫角色所屬角色的角色成員資格。

由於所有資料庫角色都是公開角色的成員,因此結果會省略公開角色中隱含成員資格的記錄。

資料欄名稱 類型 說明
ROLE_NAME STRING 授予此成員資格的資料庫角色名稱。
GRANTEE STRING 獲授此成員資格的資料庫角色名稱。

CHANGE_STREAMS

這個經過資料列篩選的表格會列出資料庫的所有變更串流,並註明哪些串流追蹤整個資料庫,哪些追蹤特定表格或資料欄。擁有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他所有主體只能查看已授予目前資料庫角色、目前資料庫角色所屬角色,或 public SELECT 細部存取權控管權限的變更串流。

資料欄名稱 類型 說明
CHANGE_STREAM_CATALOG STRING 變更串流目錄的名稱。一律為空字串。
CHANGE_STREAM_SCHEMA STRING 此變更串流的結構定義名稱。一律為空字串。
CHANGE_STREAM_NAME STRING 變更串流的名稱。
ALL BOOL TRUE (如果這個變更串流追蹤整個資料庫)。 FALSE 如果這項變更串流追蹤特定資料表或資料欄。

CHANGE_STREAM_TABLES

這個經過列篩選的資料表包含資料表資訊,以及監控這些資料表的變更串流。每一列都說明一個資料表和一個變更串流。擁有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他所有主體只能查看變更串流的資料列,而目前資料庫角色、目前資料庫角色所屬的角色,或 public 必須具有 SELECT 權限。

CHANGE_STREAM_TABLES」中的資料不包含資料表之間的隱含關係,以及追蹤整個資料庫的變更串流。

資料欄名稱 類型 說明
CHANGE_STREAM_CATALOG STRING 變更串流目錄的名稱。一律為空字串。
CHANGE_STREAM_SCHEMA STRING 變更串流的結構定義名稱。一律為空字串。
CHANGE_STREAM_NAME STRING 這個資料列參照的變更串流名稱。
TABLE_CATALOG STRING 資料表目錄的名稱。一律為空字串。
TABLE_SCHEMA STRING 資料表結構定義的名稱。一律為空字串。
TABLE_NAME STRING 這個資料列參照的資料表名稱。
ALL_COLUMNS BOOL TRUE 如果這個資料列的變更串流追蹤這個資料列參照的整個資料表,否則為 FALSE

CHANGE_STREAM_COLUMNS

這個經過列篩選的資料表包含資料表資料欄的相關資訊,以及監看這些資料欄的變更串流。每一列說明一個變更串流和一個資料欄。如果變更串流追蹤整個資料表,該資料表中的資料欄就不會顯示在這個檢視畫面中。

具備資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他所有主體只能看到變更串流的資料列,前提是目前資料庫角色、目前資料庫角色所屬的角色,或 public 獲授 SELECT 權限。

資料欄名稱 類型 說明
CHANGE_STREAM_CATALOG STRING 變更串流目錄的名稱。一律為空字串。
CHANGE_STREAM_SCHEMA STRING 變更串流的結構定義名稱。一律為空字串。
CHANGE_STREAM_NAME STRING 變更串流的名稱。
TABLE_CATALOG STRING 資料表目錄的名稱。一律為空字串。
TABLE_SCHEMA STRING 資料表結構定義的名稱。一律為空字串。
TABLE_NAME STRING 這個資料列參照的資料表名稱。
COLUMN_NAME STRING 這個資料列參照的資料欄名稱。

CHANGE_STREAM_OPTIONS

這個經過資料列篩選的表格包含變更串流的設定選項。 具備資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他所有主體只能看到變更串流的選項,這些變更串流的 SELECT 權限已授予目前資料庫角色、目前資料庫角色所屬的角色,或是 public

資料欄名稱 類型 說明
CHANGE_STREAM_CATALOG STRING 變更串流目錄的名稱。一律為空字串。
CHANGE_STREAM_SCHEMA STRING 變更串流的結構定義名稱。一律為空字串。
CHANGE_STREAM_NAME STRING 變更串流的名稱。
OPTION_NAME STRING 變更串流選項的名稱。
OPTION_TYPE STRING 變更串流選項的資料類型。
OPTION_VALUE STRING 變更串流選項值。

CHANGE_STREAM_PRIVILEGES

這個經過資料列篩選的資料表會列出授予任何資料庫角色 (包括 public) 的所有精細存取權控管權限。具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他所有主體只能看到授予目前資料庫角色、目前資料庫角色所屬角色,或 public 的變更串流權限。

資料欄名稱 類型 說明
CHANGE_STREAM_CATALOG STRING 包含變更串流的目錄名稱 (空字串)。
CHANGE_STREAM_SCHEMA STRING 包含變更串流的結構定義名稱 (空白字串)。
CHANGE_STREAM_NAME STRING 變更串流的名稱。
PRIVILEGE_TYPE STRING SELECT (變更串流只允許這項權限)。
GRANTEE STRING 獲授此權限的資料庫角色名稱。

ROUTINES

這個經過資料列篩選的表格會列出資料庫的所有變更串流讀取函式。具備資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能看到變更串流讀取函式,且這些函式必須已授予目前資料庫角色、目前資料庫角色所屬角色,或 public EXECUTE 細部存取控制權限。

資料欄名稱 類型 說明
SPECIFIC_CATALOG STRING 處理常式目錄的名稱。一律為空字串。
SPECIFIC_SCHEMA STRING 處理常式結構定義的名稱。一律為空字串。
SPECIFIC_NAME STRING 處理常式的名稱。即使常式名稱過載,仍可正確識別常式。
ROUTINE_CATALOG STRING 處理常式目錄的名稱。一律為空字串。
ROUTINE_SCHEMA STRING 處理常式結構定義的名稱。一律為空字串。
ROUTINE_NAME STRING 處理常式的名稱。(過載時可能會重複)。
ROUTINE_TYPE STRING 處理常式類型 (FUNCTIONPROCEDURE)。一律為 FUNCTION
DATA_TYPE STRING 處理常式傳回的資料類型
ROUTINE_BODY STRING 處理常式主體的類型 (SQLEXTERNAL)。
ROUTINE_DEFINITION STRING ROUTINE_BODY 的定義。
SECURITY_TYPE STRING 處理常式的安全性類型。一律 INVOKER

ROUTINE_OPTIONS

這個經過資料列篩選的表格,會為每個已定義的變更串流讀取函式,提供每個選項的資料列。

具備資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能看到變更串流讀取函式的選項,這些函式已授予目前資料庫角色、目前資料庫角色所屬角色或 public EXECUTE細部存取控制權。

資料欄名稱 類型 說明
SPECIFIC_CATALOG STRING 處理常式目錄的名稱。一律為空字串。
SPECIFIC_SCHEMA STRING 處理常式結構定義的名稱。一律為空字串。
SPECIFIC_NAME STRING 處理常式的名稱。如果名稱過載,可專門用於識別常式。
OPTION_NAME STRING 可唯一識別選項的 SQL 識別碼。
OPTION_TYPE STRING OPTION_VALUE 的資料類型。
OPTION_VALUE STRING 說明這個選項值的 SQL 常值。 這個資料欄的值必須可做為查詢的一部分進行剖析。

PARAMETERS

這個經過列篩選的資料表會定義每個變更串流讀取函式的引數。每一列說明一個變更串流讀取函式的一個引數。

具備資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。對於目前資料庫角色、目前資料庫角色所屬的角色或 public,如果已授予 EXECUTE 細部存取控制權限,則其他主體只能查看變更串流讀取函式的參數。

資料欄名稱 類型 說明
SPECIFIC_CATALOG STRING 處理常式目錄的名稱。一律為空字串。
SPECIFIC_SCHEMA STRING 處理常式結構定義的名稱。一律為空字串。
SPECIFIC_NAME STRING 處理常式的名稱。如果名稱過載,可專門用於識別常式。
ORDINAL_POSITION INT64 常式中參數的序數位置,值從 1 開始。
PARAMETER_NAME STRING 參數的名稱。
DATA_TYPE STRING 參數的資料類型。
PARAMETER_DEFAULT STRING 參數的預設值,或沒有預設值的參數的 NULL

ROUTINE_PRIVILEGES

這個經過資料列篩選的資料表會列出所有變更資料流讀取函式,以及授予任何資料庫角色的所有精細存取權控管權限,包括 public。具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他所有主體只能查看授予目前資料庫角色、目前資料庫角色所屬角色,或 public 的變更串流讀取函式權限。

資料欄名稱 類型 說明
SPECIFIC_CATALOG STRING 處理常式目錄的名稱。一律為空字串。
SPECIFIC_SCHEMA STRING 處理常式結構定義的名稱。一律為空字串。
SPECIFIC_NAME STRING 處理常式的名稱。如果名稱過載,可專門用於識別常式。
PRIVILEGE_TYPE STRING 一律EXECUTE
GRANTEE STRING 授予這項權限的資料庫角色名稱。

ROLE_TABLE_GRANTS

這個經過資料列篩選的表格會列出授予任何資料庫角色 (包括 public) 的所有資料表和檢視表精細存取權控管權限。具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能查看授予目前資料庫角色,以及目前資料庫角色所屬角色的資料表和檢視表權限,不包括 public

資料欄名稱 類型 說明
GRANTOR STRING 未使用。一律 NULL
GRANTEE STRING 授予這項權限的資料庫角色名稱。
TABLE_CATALOG STRING 未使用。一律為空字串。
TABLE_SCHEMA STRING 未使用。一律為空字串。
TABLE_NAME STRING 資料表或檢視表的名稱。
PRIVILEGE_TYPE STRING 權限類型 (SELECTINSERTUPDATEDELETE)。
IS_GRANTABLE STRING 未使用。一律 NO

ROLE_COLUMN_GRANTS

這個經過資料列篩選的資料表會列出授予任何資料庫角色的所有資料欄精細存取權控管權限,包括 public。具備資料庫層級 IAM 權限的主體,以及獲准存取spanner_info_reader系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能查看授予目前資料庫角色,以及目前資料庫角色所屬角色的欄權限,不包括 public

這個檢視畫面包含資料欄從含有該資料欄的資料表或檢視畫面繼承的 SELECTINSERTUPDATE 權限。

資料欄名稱 類型 說明
GRANTOR STRING 未使用。一律 NULL
GRANTEE STRING 授予這項權限的資料庫角色名稱。
TABLE_CATALOG STRING 未使用。一律為空字串。
TABLE_SCHEMA STRING 未使用。一律為空字串。
TABLE_NAME STRING 包含資料欄的資料表或檢視畫面名稱。
COLUMN_NAME STRING 授予權限的資料欄名稱。
PRIVILEGE_TYPE STRING 權限類型 (SELECTINSERTUPDATE)。
IS_GRANTABLE STRING 未使用。一律 NO

ROLE_CHANGE_STREAM_GRANTS

這個經過列篩選的表格會列出授予任何資料庫角色 (包括 public) 的所有變更串流 SELECT 權限。具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。所有其他主體只能查看授予目前資料庫角色和角色 (目前資料庫角色是成員) 的變更串流權限,但不包括 public

資料欄名稱 類型 說明
CHANGE_STREAM_CATALOG STRING 未使用。一律為空字串。
CHANGE_STREAM_SCHEMA STRING 包含變更串流的結構定義名稱。
CHANGE_STREAM_NAME STRING 變更串流的名稱。
PRIVILEGE_TYPE STRING 權限類型 (僅限 SELECT)。
GRANTEE STRING 授予這項權限的資料庫角色名稱。

ROLE_MODEL_GRANTS

這個經過資料列篩選的表格會列出授予任何資料庫角色 (包括 public) 的所有模型精細存取權控管權限。具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能查看授予目前資料庫角色,以及目前資料庫角色所屬角色的資料表和檢視表權限,不包括 public

資料欄名稱 類型 說明
GRANTOR STRING 未使用。一律 NULL
GRANTEE STRING 授予這項權限的資料庫角色名稱。
MODEL_CATALOG STRING 未使用。一律為空字串。
MODEL_SCHEMA STRING 未使用。一律為空字串。
MODEL_NAME STRING 模型的名稱。
PRIVILEGE_TYPE STRING 權限類型 (EXECUTE)。
IS_GRANTABLE STRING 未使用。一律 NO

ROLE_ROUTINE_GRANTS

這個經過資料列篩選的資料表會列出授予任何資料庫角色 (包括 public) 的所有變更串流讀取函式 EXECUTE 權限。具有 IAM 資料庫層級權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能查看授予目前資料庫角色和角色 (目前資料庫角色是成員) 的變更串流讀取函式權限,不包括 public

資料欄名稱 類型 說明
GRANTOR STRING 未使用。一律 NULL
GRANTEE STRING 獲授權限的角色名稱。
SPECIFIC_CATALOG STRING 處理常式目錄的名稱。
SPECIFIC_SCHEMA STRING 常式結構定義的名稱。
SPECIFIC_NAME STRING 處理常式的名稱。如果名稱過載,可專門用於識別常式。
PRIVILEGE_TYPE STRING 授予的權限類型。一律 EXECUTE
IS_GRANTABLE STRING 未使用。一律 NO

MODELS

這個表格會列出資料庫的所有模型

資料欄名稱 類型 說明
MODEL_CATALOG STRING 目錄的名稱。一律為空字串。
MODEL_SCHEMA STRING 這個模型結構定義的名稱。一律為空字串。
MODEL_NAME STRING 模型的名稱。
IS_REMOTE BOOL TRUE (如果這是遠端模型)。FALSE (如果是受管理模型)。

MODEL_OPTIONS

下表列出模型的設定選項。

資料欄名稱 類型 說明
MODEL_CATALOG STRING 目錄的名稱。一律為空字串。
MODEL_SCHEMA STRING 這個模型結構定義的名稱。一律為空字串。
MODEL_NAME STRING 模型的名稱。
OPTION_NAME STRING 模型選項的名稱。
OPTION_TYPE STRING 模型選項的資料類型。
OPTION_VALUE STRING 模型選項值。

MODEL_COLUMNS

下表列出模型中的資料欄。

資料欄名稱 類型 說明
MODEL_CATALOG STRING 目錄的名稱。一律為空字串。
MODEL_SCHEMA STRING 這個模型結構定義的名稱。一律為空字串。
MODEL_NAME STRING 模型的名稱。
COLUMN_KIND STRING 模型欄種類。請選擇 "INPUT""OUTPUT"
COLUMN_NAME STRING 資料欄的名稱。
DATA_TYPE STRING 資料欄的標準 SQL 資料類型。
ORDINAL_POSITION INT64 資料欄的序數位置,值從 1 開始,用於保留宣告資料欄的順序。
IS_EXPLICIT BOOL 如果資料欄是在 DDL 中明確指定,則為 TRUE。 如果資料欄是從端點探索而來,則為 FALSE

MODEL_COLUMN_OPTIONS

下表列出模型資料欄的設定選項。

資料欄名稱 類型 說明
MODEL_CATALOG STRING 目錄的名稱。一律為空字串。
MODEL_SCHEMA STRING 這個模型結構定義的名稱。一律為空字串。
MODEL_NAME STRING 模型的名稱。
COLUMN_KIND STRING 模型欄種類。請選擇 "INPUT""OUTPUT"
COLUMN_NAME STRING 資料欄的名稱。
OPTION_NAME STRING 模型資料欄選項的名稱。
OPTION_TYPE STRING 模型資料欄選項的資料類型。
OPTION_VALUE STRING 型號資料欄選項值。

MODEL_PRIVILEGES

這個經過列篩選的表格會列出在模型層級授予資料庫角色的所有權限,包括 public。具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能查看模型權限,前提是目前資料庫角色、目前資料庫角色所屬的角色,或 public 具有EXECUTE精細存取權控管EXECUTE權限。

資料欄名稱 類型 說明
MODEL_CATALOG STRING 未使用。一律為空字串。
MODEL_SCHEMA STRING 未使用。一律為空字串。
MODEL_NAME STRING 授予精細存取權控管權限的模型名稱。
PRIVILEGE_TYPE STRING EXECUTE>
GRANTEE STRING 授予這項權限的資料庫角色名稱。

PROPERTY_GRAPHS

這個經過資料列篩選的表格會列出資料庫中的屬性圖形。具備資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader 系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體如要查看屬性圖表,必須符合查看用於定義這些圖表的所有資料表之規定。

資料欄名稱 類型 說明
PROPERTY_GRAPH_CATALOG STRING 目錄的名稱。一律為空字串。
PROPERTY_GRAPH_SCHEMA STRING 結構定義的名稱。如果未命名,則為空字串。
PROPERTY_GRAPH_NAME STRING 屬性圖的名稱。
PROPERTY_GRAPH_METADATA_JSON JSON JSON 格式的屬性圖形定義。

PROPERTY_GRAPH_METADATA_JSON 欄包含 PropertyGraph JSON 物件,定義如下:

JSON 物件名稱 欄位名稱 JSON 類型 說明
PropertyGraph catalog string 目錄的名稱。一律為空字串。
schema string 結構定義的名稱。如果未命名,則為空字串。
name string 屬性圖的名稱。
nodeTables array<object> 節點的 GraphElementTable 物件清單。
edgeTables array<object> 邊緣的 GraphElementTable 物件清單。
labels array<object> GraphElementLabel 物件的清單。
propertyDeclarations array<object> GraphPropertyDeclaration 物件的清單。
GraphElementTable name string 圖表元素資料表的名稱。
kind string NODEEDGE
baseCatalogName string 包含基礎資料表的目錄名稱。
baseSchemaName string 包含基礎資料表的結構定義名稱。
baseTableName string 用來建立元素的輸入資料表名稱。
keyColumns array<string> 構成元素鍵的資料欄名稱。
labelNames array<string> 附加至這個元素表格的標籤名稱。
propertyDefinitions array<object> GraphPropertyDefinition 物件的清單。
dynamicLabelExpr string 包含 DYNAMIC LABEL 定義的資料欄名稱。
dynamicPropertyExpr string 包含 DYNAMIC PROPERTIES 定義的資料欄名稱。
sourceNodeTable object GraphNodeTableReference 物件。只有在 kindEDGE 時才會存在。
destinationNodeTable object GraphNodeTableReference 物件。只有在 kindEDGE 時才會存在。
GraphNodeTableReference nodeTableName string 圖表元素資料表的名稱。
edgeTableColumns array<string> 與邊緣的來源和目的地鍵相關聯的資料欄名稱。
nodeTableColumns array<string> 與節點的來源和目的地鍵相關聯的資料欄名稱。
GraphElementLabel name string 標籤名稱。
propertyDeclarationNames array<string> 與這個標籤相關聯的屬性名稱。
GraphPropertyDeclaration name string 房源名稱。
type string 房源類型。
GraphPropertyDefinition propertyDeclarationName string 房源名稱。
valueExpressionSql string 定義屬性的運算式。

範例

傳回使用者結構定義中每個資料表的相關資訊:

SELECT
  t.table_schema,
  t.table_name,
  t.parent_table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')
  AND t.table_type = 'BASE TABLE'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name

傳回 INFORMATION_SCHEMA 中所有資料表的名稱:

SELECT
  t.table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_schema = "SPANNER_SYS"

傳回預設結構定義中使用者資料表 MyTable 的資料欄相關資訊:

SELECT
  t.column_name,
  t.spanner_type,
  t.is_nullable
FROM
  information_schema.columns AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema = ''
  AND
  t.table_name = 'MyTable'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name,
  t.ordinal_position

傳回資料庫的預設主要區域資訊。 如果未設定預設主要區域,則傳回空白:

SELECT
  s.option_name,
  s.option_value
FROM
  information_schema.database_options s
WHERE
  s.option_name = 'default_leader'

傳回使用者結構定義中每個索引的相關資訊:

SELECT
  t.table_schema,
  t.table_name,
  t.index_name,
  t.parent_table_name
FROM
  information_schema.indexes AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')
  AND
  t.index_type != 'PRIMARY_KEY'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name,
  t.index_name

傳回所有使用預設值以外選項的資料欄:

SELECT
  t.table_schema,
  t.table_name,
  t.column_name,
  t.option_type,
  t.option_value,
  t.option_name
FROM
  information_schema.column_options AS t
WHERE
  t.table_catalog = ''
AND
  t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')

傳回目前的最佳化工具相關資料庫選項:

SELECT
  s.option_name,
  s.option_value
FROM
  information_schema.database_options s
WHERE
  s.schema_name=''
  AND s.option_name IN ('optimizer_version',
    'optimizer_statistics_package')

傳回所有可用的統計資料套件:

SELECT
  *
FROM
  information_schema.spanner_statistics;

傳回所有序列:

SELECT
  *
FROM
  information_schema.sequences;

傳回名為「MySequence」的序列的所有序列選項

SELECT
  *
FROM
  information_schema.sequence_options WHERE name="MySequence";

傳回所有屬性圖的名稱和定義:

SELECT
  property_graph_name,
  property_graph_metadata_json
FROM
  information_schema.property_graphs

傳回所有屬性圖的名稱,以及標籤和屬性:

SELECT
  property_graph_name,
  property_graph_metadata_json.labels,
  property_graph_metadata_json.propertyDeclarations
FROM
  information_schema.property_graphs

後續步驟

  • 瞭解可用的內省工具,協助您調查資料庫問題。