資訊結構定義是每個 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
APIgcloud spanner databases execute-sql
指令- Google Cloud 控制台中的資料庫「Spanner Studio」頁面
其他單一讀取方法不支援 INFORMATION_SCHEMA
。
其他 INFORMATION_SCHEMA
使用注意事項:
- 對
INFORMATION_SCHEMA
的查詢可用於唯讀交易,但無法用於讀寫交易。 - 對
INFORMATION_SCHEMA
的查詢可使用強式、限定過時程度或精確過時程度時間戳記範圍。 - 如果您使用 PostgreSQL 方言資料庫,請參閱 PostgreSQL 方言資料庫的資訊結構描述。
- 如果您是精細存取權控管使用者,系統會篩選
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 |
地區群組選項的名稱。有效選項如下:
|
OPTION_VALUE |
STRING |
區域群組選項的值。如果是 STORAGE ,則為 ssd 或 hdd 。SSD_TO_HDD_SPILL_TIMESPAN :這是資料必須儲存在 SSD 的時間長度,之後才會移至 HDD 儲存空間。舉例來說,10d 是 10 天。最短時間為一小時。 |
TABLES
這個經過列篩選的資料表會列出資料庫中的資料表和檢視區塊。擁有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader
系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能看到符合下列任一條件的資料表:
-
系統會將
SELECT
、INSERT
、UPDATE
或DELETE
精細存取權控管權限授予目前資料庫角色的資料表、目前資料庫角色所屬的角色,或是public
。 - 系統會將
SELECT
、INSERT
或UPDATE
權限授予目前資料庫角色的任何資料表欄、目前資料庫角色所屬角色的任何資料表欄,或是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 |
如果是交錯資料表,這個資料欄會設為 CASCADE 或 NO ACTION 。如果不是,則會設為 NULL 。詳情請參閱 TABLE 陳述式。 |
SPANNER_STATE |
STRING |
如果涉及大量作業,表格在建立期間可能會經歷多種狀態。舉例來說,如果建立資料表時使用外來鍵,則需要回填索引。可能的狀態包括:
|
INTERLEAVE_TYPE |
STRING |
表示這個資料表與交錯資料表之間是否有父項與子項關係的運算式文字。
可能的值包括:
|
ROW_DELETION_POLICY_EXPRESSION |
STRING |
定義資料表資料列刪除政策的運算式文字。例如 OLDER_THAN(CreatedAt, INTERVAL 1 DAY) 或 OLDER_THAN(ExpiredDate, INTERVAL 0 DAY) 。
|
COLUMNS
這個經過資料列篩選的資料表會列出資料表中的資料欄。具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader
系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能查看符合下列任一條件的資料欄:
- 直接授予目前資料庫角色、目前資料庫角色所屬角色,或
public
任何SELECT
、INSERT
或UPDATE
精細存取權控管權限。 - 在包含資料欄的資料表上,將任何
SELECT
、INSERT
或UPDATE
精細存取權控管權限授予目前的資料庫角色、目前資料庫角色所屬的角色,或public
。
資料欄名稱 | 類型 | 說明 |
---|---|---|
TABLE_CATALOG |
STRING |
未使用。一律為空字串。 |
TABLE_SCHEMA |
STRING |
資料欄資料表的結構定義名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值則包含值。這個資料欄一律包含值。 |
TABLE_NAME |
STRING |
資料表的名稱。 |
COLUMN_NAME |
STRING |
資料欄的名稱。 |
ORDINAL_POSITION |
INT64 |
資料欄在資料表中的序數位置,值從 1 開始。 |
COLUMN_DEFAULT |
STRING |
資料欄預設值的 SQL 運算式字串表示法。如果資料欄沒有預設值,則為
注意:2022 年 3 月前, |
DATA_TYPE |
STRING |
為符合 SQL 標準而納入。一律 NULL 。請參閱
欄 SPANNER_TYPE |
IS_NULLABLE |
STRING |
指定資料欄是否可為 Null 值的字串。依據 SQL 標準,字串為 YES 或 NO ,而不是布林值。 |
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 |
資料欄的目前狀態。新增至現有資料表的儲存產生資料欄,可能需要經過多個使用者可觀察的狀態,才能完全可用。可能的值包括:
|
IS_IDENTITY |
STRING |
如果產生的資料欄是身分識別資料欄,則字串會設為 YES ,否則為 NO 。 |
IDENTITY_GENERATION |
STRING |
指定資料欄是否只允許系統產生的值,不允許使用者插入自訂值的字串。
|
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
任何SELECT
、INSERT
或UPDATE
精細存取權控管權限。 - 在包含資料欄的資料表上,將任何
SELECT
、INSERT
或UPDATE
精細存取權控管權限授予目前的資料庫角色、目前資料庫角色所屬的角色,或public
。
資料欄名稱 | 類型 | 說明 |
---|---|---|
TABLE_CATALOG |
STRING |
未使用。一律為空字串。 |
TABLE_SCHEMA |
STRING |
資料欄資料表的結構定義名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值則包含值。這個資料欄一律包含值。 |
TABLE_NAME |
STRING |
包含具備存取權限資料欄的資料表名稱。 |
COLUMN_NAME |
STRING |
具備存取權的資料欄名稱。 |
PRIVILEGE_TYPE |
STRING |
SELECT 、INSERT 、UPDATE |
GRANTEE |
STRING |
授予這項權限的資料庫角色名稱。 |
TABLE_PRIVILEGES
這個經過列篩選的表格會列出授予資料庫角色的所有資料表層級權限,包括 public
。具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader
系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。如果目前資料庫角色、目前資料庫角色所屬的角色,或 public
獲授 SELECT
、INSERT
、UPDATE
或 DELETE
細部存取控制權限,其他主體只能查看這些權限所適用的資料表。
資料欄名稱 | 類型 | 說明 |
---|---|---|
TABLE_CATALOG |
STRING |
未使用。一律為空字串。 |
TABLE_SCHEMA |
STRING |
資料表的結構定義名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值則包含值。這個資料欄一律包含值。 |
TABLE_NAME |
STRING |
授予精細存取權控管權限的資料表名稱。 |
PRIVILEGE_TYPE |
STRING |
SELECT 、INSERT 、UPDATE 和 DELETE 其中之一 |
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 |
限制類型。可能的值包括:
|
IS_DEFERRABLE |
STRING |
一律 NO 。 |
INITIALLY_DEFERRED |
STRING |
一律 NO 。 |
ENFORCED |
STRING |
如果限制是
資訊性 (NOT ENFORCED ) 外鍵,則為 NO 。
YES ,以強制執行外鍵或任何其他限制類型。
|
CONSTRAINT_TABLE_USAGE
這個表格列出定義或使用限制的資料表。包括定義 PRIMARY KEY
和 UNIQUE
限制的資料表。也包括 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 |
CASCADE 或 NO ACTION 。 |
SPANNER_STATE |
STRING |
外鍵的目前狀態。Spanner 會等到外鍵的支援索引建立並回填後,才開始強制執行限制。索引準備就緒後,Spanner 會開始對新交易強制執行限制,同時驗證現有資料。可能的值和這些值代表的狀態如下:
|
CHECK_CONSTRAINTS
information_schema.CHECK_CONSTRAINTS
資料表包含以 CHECK
或 NOT NULL
關鍵字定義的每個 CHECK
限制條件。
資料欄名稱 | 類型 | 說明 |
---|---|---|
CONSTRAINT_CATALOG |
STRING |
限制目錄的名稱。這個資料欄絕不會是 null 值,但一律是空白字串。 |
CONSTRAINT_SCHEMA |
STRING |
限制的結構定義名稱。如果未命名,則為空字串。 |
CONSTRAINT_NAME |
STRING |
限制的名稱。這個資料欄絕不會是 Null 值。如果未在結構定義中明確指定,系統會指派名稱。 |
CHECK_CLAUSE |
STRING |
CHECK 限制的運算式。這個資料欄絕不會是 Null 值。 |
SPANNER_STATE |
STRING |
CHECK 限制的目前狀態。這個資料欄絕不會是 Null 值。可能的狀態如下:
|
KEY_COLUMN_USAGE
這個經過資料列篩選的資料表包含一個資料列,其中列出受 TABLE_CONSTRAINTS
、FOREIGN
KEY
或 UNIQUE
限制條件約束的資料表 TABLE_CONSTRAINTS
中每個資料欄。PRIMARY KEY
具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader
系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能看到符合下列條件的資料欄:
- 直接授予目前資料庫角色、目前資料庫角色所屬角色,或
public
任何SELECT
、INSERT
或UPDATE
精細存取權控管權限。 - 在包含資料欄的資料表上,將任何
SELECT
、INSERT
或UPDATE
精細存取權控管權限授予目前的資料庫角色、目前資料庫角色所屬的角色,或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 KEY
和 UNIQUE
資料欄,以及 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
系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能看到符合下列任一條件的索引:
- 系統會將
SELECT
、INSERT
或UPDATE
精細存取權控管權限,授予索引中所有資料欄的目前資料庫角色、目前資料庫角色所屬的角色,或是public
。 - 在具有索引的資料表上,授予目前資料庫角色、目前資料庫角色所屬角色,或
public
任何SELECT
、INSERT
、UPDATE
或DELETE
細部存取權控制權限。
資料欄名稱 | 類型 | 說明 |
---|---|---|
TABLE_CATALOG |
STRING |
目錄的名稱。一律為空字串。 |
TABLE_SCHEMA |
STRING |
索引資料表的結構定義名稱。如果是預設結構定義,這個名稱是空白的;如果是其他結構定義,這個值則包含值。這個資料欄一律包含值。 |
TABLE_NAME |
STRING |
資料表的名稱。 |
INDEX_NAME |
STRING |
索引的名稱。具有 PRIMARY KEY 規格的資料表有以 PRIMARY_KEY 名稱產生的虛擬索引項目,可讓系統判定主鍵欄位。 |
INDEX_TYPE |
STRING |
索引的類型。類型為 INDEX 或 PRIMARY_KEY 。 |
PARENT_TABLE_NAME |
STRING |
如「建立次要索引」一文所述,次要索引可在父項資料表中交錯。這個資料欄會保留該父項資料表的名稱;如果索引不是交錯索引,則會保留空白字串。 |
IS_UNIQUE |
BOOL |
索引鍵是否不得重複。 |
IS_NULL_FILTERED |
BOOL |
索引是否包含具有 NULL 值的項目。 |
INDEX_STATE |
STRING |
索引的目前狀態。可能的值和這些值代表的狀態如下:
|
SPANNER_IS_MANAGED |
BOOL |
如果索引是由 Spanner 管理,則為 TRUE ;否則為 FALSE 。外鍵的次要支援索引由 Spanner 管理。 |
INDEX_COLUMNS
這個經過資料列篩選的資料表會列出索引中的資料欄。具有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader
系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能看到符合下列任一條件的索引:
- 系統會將
SELECT
、INSERT
或UPDATE
精細存取權控管權限,授予索引中所有資料欄的目前資料庫角色、目前資料庫角色所屬的角色,或是public
。 - 在具有索引的資料表上,將任何
SELECT
、INSERT
或UPDATE
精細存取權控管權限授予目前的資料庫角色、目前資料庫角色所屬的角色,或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 |
資料欄的排序。如果是鍵資料欄,這個值為 ASC 或 DESC ;如果是非鍵資料欄 (例如索引的 STORING 子句中指定的資料欄),這個值為 NULL 。 |
IS_NULLABLE |
STRING |
指定資料欄是否可為 Null 值的字串。依據 SQL 標準,字串為 YES 或 NO ,而不是布林值。 |
SPANNER_TYPE |
STRING |
資料欄的資料類型。 |
COLUMN_OPTIONS
這個經過資料列篩選的資料表會列出資料表中的資料欄選項。擁有資料庫層級 IAM 權限的主體,以及獲准存取 spanner_info_reader
系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能查看符合下列任一條件的資料欄選項:
- 直接授予目前資料庫角色、目前資料庫角色所屬角色,或
public
任何SELECT
、INSERT
或UPDATE
精細存取權控管權限。 - 在包含資料欄的資料表上,將任何
SELECT
、INSERT
或UPDATE
精細存取權控管權限授予目前的資料庫角色、目前資料庫角色所屬的角色,或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 |
檢視區塊的安全性類型。INVOKER 或 DEFINER 。
詳情請參閱「關於檢視畫面」。 |
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 |
處理常式類型 (FUNCTION 或 PROCEDURE )。一律為 FUNCTION |
DATA_TYPE |
STRING |
處理常式傳回的資料類型 |
ROUTINE_BODY |
STRING |
處理常式主體的類型 (SQL 或 EXTERNAL )。 |
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 |
權限類型 (SELECT 、INSERT 、UPDATE 或 DELETE )。 |
IS_GRANTABLE |
STRING |
未使用。一律 NO 。 |
ROLE_COLUMN_GRANTS
這個經過資料列篩選的資料表會列出授予任何資料庫角色的所有資料欄精細存取權控管權限,包括 public
。具備資料庫層級 IAM 權限的主體,以及獲准存取spanner_info_reader
系統角色或該角色成員的主體,都能查看這個檢視表中的所有資料列。其他主體只能查看授予目前資料庫角色,以及目前資料庫角色所屬角色的欄權限,不包括 public
。
這個檢視畫面包含資料欄從含有該資料欄的資料表或檢視畫面繼承的 SELECT
、INSERT
和 UPDATE
權限。
資料欄名稱 | 類型 | 說明 |
---|---|---|
GRANTOR |
STRING |
未使用。一律 NULL 。 |
GRANTEE |
STRING |
授予這項權限的資料庫角色名稱。 |
TABLE_CATALOG |
STRING |
未使用。一律為空字串。 |
TABLE_SCHEMA |
STRING |
未使用。一律為空字串。 |
TABLE_NAME |
STRING |
包含資料欄的資料表或檢視畫面名稱。 |
COLUMN_NAME |
STRING |
授予權限的資料欄名稱。 |
PRIVILEGE_TYPE |
STRING |
權限類型 (SELECT 、INSERT 或 UPDATE )。 |
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 |
NODE 或 EDGE 。 |
|
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 物件。只有在 kind 為 EDGE 時才會存在。 |
|
destinationNodeTable |
object |
GraphNodeTableReference 物件。只有在 kind 為 EDGE 時才會存在。 |
|
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
後續步驟
- 瞭解可用的內省工具,協助您調查資料庫問題。