Informationsschema für Datenbanken mit GoogleSQL-Dialekt

Das Informationsschema ist ein integriertes Schema, über das alle Spanner-Datenbanken verfügen. Sie können SQL-Abfragen für Tabellen im INFORMATION_SCHEMA ausführen, um Schemametadaten für eine Datenbank abzurufen.

Mit der folgenden Abfrage etwa werden die Namen aller benutzerdefinierten Tabellen in einer Datenbank abgerufen:

  SELECT
    table_name
  FROM
    information_schema.tables
  WHERE
    table_schema = ''

Nutzer mit einer detaillierten Zugriffssteuerung sehen je nach Datenbankrolle gefilterte Ergebnisse für einige INFORMATION_SCHEMA-Tabellen. Weitere Informationen finden Sie unter Detaillierte Zugriffssteuerung.

Nutzung

INFORMATION_SCHEMA-Tabellen sind nur über SQL-Schnittstellen verfügbar, z. B.:

  • Mit der executeQuery API
  • Befehl gcloud spanner databases execute-sql
  • Die Seite Spanner Studio einer Datenbank in der Google Cloud Console

Andere Einzellesemethoden unterstützen INFORMATION_SCHEMA nicht.

Weitere Hinweise zur Verwendung von INFORMATION_SCHEMA:

Zeilenfilterung in Tabellen des information_schema

Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die spanner_info_reader Systemrolle (oder auf Mitglieder dieser Rolle) gewährt wurde, können alle Zeilen in allen information_schema-Tabellen sehen. Bei anderen Hauptpersonen werden Zeilen in einigen Tabellen anhand der aktuellen Datenbankrolle gefiltert. In den folgenden Abschnitten wird beschrieben, wie die Zeilenfilterung für die einzelnen Tabellen und Ansichten angewendet wird.

Tabellen im INFORMATION_SCHEMA

In den folgenden Abschnitten werden die Tabellen in der INFORMATION_SCHEMA für Datenbanken mit GoogleSQL-Dialekt beschrieben.

SCHEMATA

In der Tabelle INFORMATION_SCHEMA.SCHEMATA sind die Schemas in der Datenbank aufgeführt. Dazu zählen das Informationsschema und die benannten Schemas, die von Ihnen definierte Tabellen enthalten.

Spaltenname Typ Beschreibung
CATALOG_NAME STRING Der Name des Katalogs. Diese Spalte sorgt für die Kompatibilität mit Informationsschematabellen nach SQL-Standard. Diese Spalte enthält immer einen leeren String.
SCHEMA_NAME STRING Der Name des Schemas. Dies ist der Name für benannte Schemas oder „“ für das Standardschema.
PROTO_BUNDLE STRING Wenn die Datenbank Proto-Bundle-Anweisungen enthält, enthält diese Spalte Informationen zum im Schema verwendeten Proto-Bundle. Diese Spalte ist NULL, wenn in der Datenbank kein Proto-Bundle vorhanden ist.

DATABASE_OPTIONS

In dieser Tabelle sind die Optionen aufgeführt, die für die Datenbank festgelegt sind.

Spaltenname Typ Beschreibung
CATALOG_NAME STRING Der Name des Katalogs. Immer ein leerer String.
SCHEMA_NAME STRING Der Name des Schemas. Eine leere Zeichenfolge, falls unbenannt.
OPTION_NAME STRING Der Name der Datenbankoption.
OPTION_TYPE STRING Der Datentyp der Datenbankoption.
OPTION_VALUE STRING Der Wert der Datenbankoption.

PLACEMENTS

In dieser Tabelle sind die Placements in der Datenbank aufgeführt.

Spaltenname Typ Beschreibung
PLACEMENT_NAME STRING Der Name des Placements.
IS_DEFAULT BOOL Ein boolescher Wert, der angibt, ob es sich bei dem Placement um das Standard-Placement handelt.

PLACEMENT_OPTIONS

In dieser Tabelle sind für jedes Placement die Optionen aufgeführt, die in der OPTIONS-Klausel der CREATE PLACEMENT-Anweisung für das Placement festgelegt sind.

Gültige Werte für OPTION_NAME sind:

  • instance_partition
  • default_leader
Spaltenname Typ Beschreibung
PLACEMENT_NAME STRING Der Name des Placements.
OPTION_NAME STRING Der Name der Placement-Option.
OPTION_TYPE STRING Der Datentyp der Placement-Option. Bei beiden Optionen ist das STRING(MAX).
OPTION_VALUE STRING Der Wert der Placement-Option. Bei instance_partition ist dies der Name der Instanzpartition. Bei default_leader ist das der Name der standardmäßigen führenden Region.

TABLES

In dieser zeilenfiltrierten Tabelle sind die Tabellen und Ansichten in der Datenbank aufgeführt. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptpersonen können nur Tabellen sehen, die eine der folgenden Anforderungen erfüllen:

  • Die Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT, UPDATE oder DELETE werden der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public für die Tabelle gewährt.
  • Die Berechtigungen SELECT, INSERT oder UPDATE werden der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public für jede Tabellenspalte gewährt.
Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Nicht verwendet. Immer ein leerer String.
TABLE_SCHEMA STRING Nicht verwendet. Immer ein leerer String.
TABLE_NAME STRING Der Name der Tabelle, Ansicht oder des Synonyms.
TABLE_TYPE STRING Der Typ der Tabelle. Bei Tabellen hat er den Wert BASE TABLE, bei Ansichten den Wert VIEW und bei Synonymen den Wert SYNONYM.
PARENT_TABLE_NAME STRING Der Name der übergeordneten Tabelle, wenn die Tabelle verknüpft ist, oder NULL.
ON_DELETE_ACTION STRING Dies ist für verschränkte Tabellen auf CASCADE oder NO ACTION festgelegt, ansonsten auf NULL. Weitere Informationen finden Sie unter TABLE-Anweisungen.
SPANNER_STATE STRING Eine Tabelle kann bei der Erstellung mehrere Status durchlaufen, wenn Bulk-Vorgänge ausgeführt werden. Dies ist beispielsweise der Fall, wenn die Tabelle mit einem Fremdschlüssel erstellt wird, für den ein Backfill ihrer Indexe erforderlich ist. Mögliche Status sind:
  • ADDING_FOREIGN_KEY: Die Fremdschlüssel der Tabelle werden hinzugefügt.
  • WAITING_FOR_COMMIT: Fertigstellen der Schemaänderung.
  • COMMITTED: Die Schemaänderung zum Erstellen der Tabelle wurde festgeschrieben. Sie können erst dann in die Tabelle schreiben, wenn die Änderung übernommen wurde.
INTERLEAVE_TYPE STRING Der Ausdruckstext, der angibt, ob zwischen dieser Tabelle und der Tabelle, in der sie verschachtelt ist, eine übergeordnete/untergeordnete Beziehung besteht. Mögliche Werte sind:
  • IN: Die Tabelle hat keine übergeordneten und untergeordneten Elemente. Eine Zeile in dieser Tabelle kann unabhängig von der Existenz der übergeordneten Tabellenzeile vorhanden sein.
  • IN PARENT: Die Tabelle hat eine übergeordnete und eine untergeordnete Beziehung. Für eine Zeile in dieser Tabelle muss die Zeile der übergeordneten Tabelle vorhanden sein.
  • Ein leerer String gibt an, dass diese Tabelle keine Interleaving-Beziehungen hat.
ROW_DELETION_POLICY_EXPRESSION STRING Der Ausdruckstext, der die Richtlinie zum Löschen von Zeilen der Tabelle definiert. Beispiel: OLDER_THAN(CreatedAt, INTERVAL 1 DAY) oder OLDER_THAN(ExpiredDate, INTERVAL 0 DAY).

COLUMNS

In dieser nach Zeilen gefilterten Tabelle sind die Spalten einer Tabelle aufgeführt. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptrollen können nur Spalten sehen, die eine der folgenden Anforderungen erfüllen:

  • Eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE wird der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public direkt für die Spalte gewährt.
  • Eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE wird der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public für die Tabelle gewährt, die die Spalte enthält.
Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Nicht verwendet. Immer ein leerer String.
TABLE_SCHEMA STRING Nicht verwendet. Immer ein leerer String.
TABLE_NAME STRING Der Name der Tabelle.
COLUMN_NAME STRING Der Name der Spalte.
ORDINAL_POSITION INT64 Die ordinale Position der Spalte in der Tabelle, beginnend mit dem Wert 1.
COLUMN_DEFAULT STRING

Eine Stringdarstellung des SQL-Ausdrucks für den Standardwert der Spalte. NULL, wenn die Spalte keinen Standardwert hat.

Hinweis:Vor März 2022 wurde für COLUMN_DEFAULT der Typ BYTES verwendet.

DATA_TYPE STRING Enthalten, um den SQL-Standard zu erfüllen. Immer NULL. Siehe Spalte SPANNER_TYPE
IS_NULLABLE STRING Ein String, der angibt, ob die Spalte Nullwerte enthalten kann. Gemäß dem SQL-Standard ist der String entweder YES oder NO und kein boolescher Wert.
SPANNER_TYPE STRING Der Datentyp der Spalte.
IS_GENERATED STRING Ein String, der angibt, ob die Spalte generiert wird. Der String ist entweder ALWAYS für eine generierte Spalte oder NEVER für eine nicht generierte Spalte.
GENERATION_EXPRESSION STRING Ein String, der den SQL-Ausdruck einer generierten Spalte darstellt. NULL, wenn die Spalte keine generierte Spalte ist.
IS_STORED STRING Ein String, der angibt, ob die generierte Spalte gespeichert wird. Bei generierten Spalten ist der String immer YES und für nicht generierte Spalten NULL.
SPANNER_STATE STRING Der aktuelle Status der Spalte. Eine neue gespeicherte generierte Spalte, die einer vorhandenen Tabelle hinzugefügt wird, kann mehrere vom Nutzer beobachtbare Zustände durchlaufen, bevor sie vollständig verwendet werden kann. Folgende Werte sind möglich:
  • WRITE_ONLY: Backfill für diese Spalte wird durchgeführt. Es ist kein Lesevorgang erlaubt.
  • COMMITTED: Die Spalte ist vollständig nutzbar.

COLUMN_PRIVILEGES

In dieser nach Zeilen gefilterten Tabelle sind alle Berechtigungen aufgeführt, die auf Spaltenebene für jede Datenbankrolle gewährt wurden, einschließlich public. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Berechtigungen für Spalten sehen, die eine der folgenden Anforderungen erfüllen:

  • Eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE wird der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public direkt für die Spalte gewährt.
  • Eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE wird der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public für die Tabelle gewährt, die die Spalte enthält.
Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Nicht verwendet. Immer ein leerer String.
TABLE_SCHEMA STRING Nicht verwendet. Immer ein leerer String.
TABLE_NAME STRING Der Name der Tabelle, die die Spalte mit Berechtigungen enthält.
COLUMN_NAME STRING Der Name der Spalte mit Berechtigungen.
PRIVILEGE_TYPE STRING SELECT, INSERT, UPDATE
GRANTEE STRING Der Name der Datenbankrolle, der dieses Berechtigung gewährt wird.

TABLE_PRIVILEGES

In dieser nach Zeilen gefilterten Tabelle sind alle Berechtigungen aufgeführt, die Datenbankrollen auf Tabellenebene gewährt wurden, einschließlich public. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Berechtigungen für Tabellen sehen, für die der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public eine der folgenden Berechtigungen für die detaillierte Zugriffssteuerung zugewiesen ist: SELECT, INSERT, UPDATE oder DELETE.

Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Nicht verwendet. Immer ein leerer String.
TABLE_SCHEMA STRING Nicht verwendet. Immer ein leerer String.
TABLE_NAME STRING Der Name der Tabelle, für die Berechtigungen für die detaillierte Zugriffssteuerung gewährt werden.
PRIVILEGE_TYPE STRING Entweder SELECT, INSERT, UPDATE oder DELETE
GRANTEE STRING Der Name der Datenbankrolle, der dieses Berechtigung gewährt wird.

TABLE_CONSTRAINTS

Diese Tabelle enthält eine Zeile für jede Einschränkung, die für die Tabellen in der Datenbank definiert ist.

Spaltenname Typ Beschreibung
CONSTRAINT_CATALOG STRING Immer ein leerer String.
CONSTRAINT_SCHEMA STRING Der Name des Schemas der Einschränkung. Eine leere Zeichenfolge, falls unbenannt.
CONSTRAINT_NAME STRING Der Name der Einschränkung.
TABLE_CATALOG STRING Der Name des Katalogs der eingeschränkten Tabelle. Immer ein leerer String.
TABLE_SCHEMA STRING Der Name des Schemas der eingeschränkten Tabelle. Eine leere Zeichenfolge, falls unbenannt.
TABLE_NAME STRING Der Name der eingeschränkten Tabelle.
CONSTRAINT_TYPE STRING Der Typ der Einschränkung. Folgende Werte sind möglich:
  • PRIMARY KEY
  • FOREIGN KEY
  • PLACEMENT KEY
  • CHECK
  • UNIQUE
IS_DEFERRABLE STRING Immer NO.
INITIALLY_DEFERRED STRING Immer NO.
ENFORCED STRING NO, wenn die Einschränkung ein informeller (NOT ENFORCED) Fremdschlüssel ist. YES für erzwungene Fremdschlüssel oder andere Einschränkungstypen.

CONSTRAINT_TABLE_USAGE

In dieser Tabelle sind Tabellen aufgeführt, in denen Einschränkungen definiert oder verwendet werden. Enthält Tabellen, die PRIMARY KEY- und UNIQUE- Einschränkungen definieren. Enthält auch die Referenztabellen mit FOREIGN KEY-Definitionen.

Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Der Name des Katalogs der eingeschränkten Tabelle. Immer ein leerer String.
TABLE_SCHEMA STRING Der Name des Schemas der eingeschränkten Tabelle. Eine leere Zeichenfolge, falls unbenannt.
TABLE_NAME STRING Der Name der eingeschränkten Tabelle.
CONSTRAINT_CATALOG STRING Der Name des Katalogs der Einschränkung. Immer ein leerer String.
CONSTRAINT_SCHEMA STRING Der Name des Schemas der Einschränkung. Eine leere Zeichenfolge, falls unbenannt.
CONSTRAINT_NAME STRING Der Name der Einschränkung.

REFERENTIAL_CONSTRAINTS

Diese Tabelle enthält eine Zeile zu jeder Einschränkung von FOREIGN KEY.

Spaltenname Typ Beschreibung
CONSTRAINT_CATALOG STRING Der Name des FOREIGN KEY-Katalogs. Immer ein leerer String.
CONSTRAINT_SCHEMA STRING Der Name des FOREIGN KEY-Schemas. Eine leere Zeichenfolge, falls unbenannt.
CONSTRAINT_NAME STRING Der Name des FOREIGN KEY.
UNIQUE_CONSTRAINT_CATALOG STRING Der Katalogname der PRIMARY KEY- oder UNIQUE-Einschränkung, auf die die FOREIGN KEY-Referenzen verweisen. Immer ein leerer String.
UNIQUE_CONSTRAINT_SCHEMA STRING Der Schemaname der PRIMARY KEY- oder UNIQUE-Einschränkung, auf die die FOREIGN KEY-Referenzen verweisen. Eine leere Zeichenfolge, falls unbenannt.
UNIQUE_CONSTRAINT_NAME STRING Der Name der PRIMARY KEY- oder UNIQUE-Einschränkung, auf die der FOREIGN KEY-verweist.
MATCH_OPTION STRING Immer SIMPLE.
UPDATE_RULE STRING Immer NO ACTION.
DELETE_RULE STRING CASCADE oder NO ACTION.
SPANNER_STATE STRING Der aktuelle Status des Fremdschlüssels. Spanner setzt die Einschränkung erst durch, wenn die Backing-Indexe des Fremdschlüssels erstellt und ausgefüllt wurden. Sobald die Indexe bereit sind, beginnt Spanner, die Einschränkung für neue Transaktionen durchzusetzen, während die vorhandenen Daten validiert werden. Folgende Werte und zugehörige Status sind möglich:
  • BACKFILLING_INDEXES: Backfill wird für Indexe durchgeführt.
  • VALIDATING_DATA: Vorhandene Daten und neue Schreibvorgänge werden überprüft.
  • WAITING_FOR_COMMIT: Die Bulk-Operationen des Fremdschlüssels wurden erfolgreich abgeschlossen oder gegebenenfalls keiner. Der Fremdschlüssel ist jedoch noch ausstehend.
  • COMMITTED: Die Schemaänderung wurde festgeschrieben.

CHECK_CONSTRAINTS

Die Tabelle information_schema.CHECK_CONSTRAINTS enthält eine Zeile zu jeder CHECK-Einschränkung, die entweder durch den CHECK- oder den NOT NULL-Suchbegriff definiert ist.

Spaltenname Typ Beschreibung
CONSTRAINT_CATALOG STRING Der Name des Katalogs der Einschränkung. Diese Spalte ist nie Null, enthält jedoch immer einen leeren String.
CONSTRAINT_SCHEMA STRING Der Name des Schemas der Einschränkung. Eine leere Zeichenfolge, falls unbenannt.
CONSTRAINT_NAME STRING Der Name der Einschränkung. Diese Spalte ist nie Null. Wenn in der Schemadefinition nicht explizit angegeben, wird ein systemdefinierter Name zugewiesen.
CHECK_CLAUSE STRING Die Ausdrücke der CHECK-Einschränkung. Diese Spalte ist nie Null.
SPANNER_STATE STRING Der aktuelle Status der CHECK-Einschränkung. Diese Spalte ist nie Null. Folgende Status sind möglich:
  • VALIDATING: Spanner validiert die vorhandenen Daten.
  • COMMITTED: Für diese Einschränkung gibt es keine aktive Schemaänderung.

KEY_COLUMN_USAGE

Diese zeilenfiltrierte Tabelle enthält eine Zeile zu jeder Spalte der Tabellen von TABLE_CONSTRAINTS, die durch die Einschränkung PRIMARY KEY, FOREIGN KEY oder UNIQUE als Schlüssel eingeschränkt sind. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptpersonen können nur Spalten sehen, die die folgenden Kriterien erfüllen:

  • Eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE wird der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public direkt für die Spalte gewährt.
  • Eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE wird der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public für die Tabelle gewährt, die die Spalte enthält.
Spaltenname Typ Beschreibung
CONSTRAINT_CATALOG STRING Der Name des Katalogs der Einschränkung. Immer ein leerer String.
CONSTRAINT_SCHEMA STRING Der Name des Schemas der Einschränkung. Diese Spalte ist nie Null. Ein leerer String, falls unbenannt.
CONSTRAINT_NAME STRING Der Name der Einschränkung.
TABLE_CATALOG STRING Der Name des Katalogs der eingeschränkten Spalte. Immer ein leerer String.
TABLE_SCHEMA STRING Der Name des Schemas der eingeschränkten Spalte. Diese Spalte ist nie Null. Eine leere Zeichenfolge, falls unbenannt.
TABLE_NAME STRING Der Name der Tabelle der eingeschränkten Spalte.
COLUMN_NAME STRING Der Name der Spalte.
ORDINAL_POSITION INT64 Die ordinale Position der Spalte innerhalb des Schlüssels der Einschränkung, beginnend mit dem Wert 1.
POSITION_IN_UNIQUE_CONSTRAINT INT64 Für FOREIGN KEYs die ordinale Position der Spalte innerhalb der eindeutigen Einschränkung, beginnend mit dem Wert 1. Bei anderen Einschränkungstypen ist diese Spalte null.

CONSTRAINT_COLUMN_USAGE

Diese Tabelle enthält eine Zeile über jede Spalte, die von einer Einschränkung verwendet wird. Enthält die Spalten PRIMARY KEY und UNIQUE sowie die referenzierten Spalten von FOREIGN KEY-Einschränkungen.

Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Der Name des Katalogs der Spaltentabelle. Immer ein leerer String.
TABLE_SCHEMA STRING Der Name des Tabellenschemas. Diese Spalte ist nie Null. Eine leere Zeichenfolge, falls unbenannt.
TABLE_NAME STRING Der Name der Tabelle der Spalte.
COLUMN_NAME STRING Der Name der Spalte, die von der Einschränkung verwendet wird.
CONSTRAINT_CATALOG STRING Der Name des Katalogs der Einschränkung. Immer ein leerer String.
CONSTRAINT_SCHEMA STRING Der Name des Schemas der Einschränkung. Eine leere Zeichenfolge, falls unbenannt.
CONSTRAINT_NAME STRING Der Name der Einschränkung.

TABLE_SYNONYMS

In dieser Tabelle sind Informationen zu Synonyme für die Tabelle aufgeführt.

Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Nicht verwendet. Immer ein leerer String.
TABLE_SCHEMA STRING Nicht verwendet. Immer ein leerer String.
TABLE_NAME STRING Der Name der Tabelle.
SYNONYM_CATALOG STRING Der Name des Katalogs für das Synonym.
SYNONYM_SCHEMA STRING Der Name des Schemas für das Synonym.
SYNONYM_TABLE_NAME STRING Der Name der Tabelle für das Synonym.

INDEXES

In dieser Zeile gefilterten Tabelle sind die Indexe in der Datenbank aufgeführt. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptpersonen können nur Indexe sehen, die eine der folgenden Anforderungen erfüllen:

  • Eine der Berechtigungen für die differenzierte Zugriffssteuerung SELECT, INSERT oder UPDATE wird der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public auf Spaltenebene für alle Spalten im Index gewährt.
  • Eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT, UPDATE oder DELETE wird für die Tabelle mit dem Index für die aktuelle Datenbankrolle, für Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder für public gewährt.
Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Der Name des Katalogs. Immer ein leerer String.
TABLE_SCHEMA STRING Der Name des Schemas. Eine leere Zeichenfolge, falls unbenannt.
TABLE_NAME STRING Der Name der Tabelle.
INDEX_NAME STRING Der Name des Index. Tabellen mit einer PRIMARY KEY-Spezifikation haben einen Pseudo-Indexeintrag, der mit dem Namen PRIMARY_KEY erzeugt wurde, wodurch die Felder des Primärschlüssels bestimmt werden können.
INDEX_TYPE STRING Der Typ des Index. Der Typ ist INDEX oder PRIMARY_KEY.
PARENT_TABLE_NAME STRING Sekundäre Indexe können in einer übergeordneten Tabelle verschränkt sein, wie unter Sekundären Index erstellen erläutert. Diese Spalte enthält den Namen der übergeordneten Tabelle oder einen leeren String, wenn der Index nicht verschränkt ist.
IS_UNIQUE BOOL Gibt an, ob die Indexschlüssel einmalig sein müssen.
IS_NULL_FILTERED BOOL Gibt an, ob der Index Einträge mit NULL-Werten enthält.
INDEX_STATE STRING Der aktuelle Status des Index. Folgende Werte und zugehörige Status sind möglich:
  • PREPARE: Leere Tabellen für einen neuen Index erstellen.
  • WRITE_ONLY: Daten-Backfill für einen neuen Index ausführen.
  • WRITE_ONLY_CLEANUP: Neuen Index bereinigen.
  • WRITE_ONLY_VALIDATE_UNIQUE: Eindeutigkeit von Daten in einem neuen Index prüfen.
  • READ_WRITE: Normaler Indexvorgang.
SPANNER_IS_MANAGED BOOL TRUE, wenn der Index von Spanner verwaltet wird, andernfalls FALSE. Sekundäre Sicherungsindexe für Fremdschlüssel werden von Spanner verwaltet.

INDEX_COLUMNS

In dieser zeilengefilterten Tabelle sind die Spalten in einem Index aufgeführt. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptpersonen können nur Indexe sehen, die eine der folgenden Anforderungen erfüllen:

  • Eine der Berechtigungen für die differenzierte Zugriffssteuerung SELECT, INSERT oder UPDATE wird der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public auf Spaltenebene für alle Spalten im Index gewährt.
  • Eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE wird für die Tabelle mit dem Index für die aktuelle Datenbankrolle, für Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder für public gewährt.
Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Der Name des Katalogs. Immer ein leerer String.
TABLE_SCHEMA STRING Der Name des Schemas. Eine leere Zeichenfolge, falls unbenannt.
TABLE_NAME STRING Der Name der Tabelle.
INDEX_NAME STRING Der Name des Index.
COLUMN_NAME STRING Der Name der Spalte.
ORDINAL_POSITION INT64 Die ordinale Position der Spalte im Index (oder Primärschlüssel), beginnend mit dem Wert 1. Dieser Wert ist NULL bei Spalten, die keine Schlüsselspalten sind (beispielsweise Spalten, die in der STORING-Klausel eines Index angegeben werden).
COLUMN_ORDERING STRING Die Reihenfolge innerhalb der Spalte. Der Wert ist ASC oder DESC bei Schlüsselspalten und NULL bei Spalten, die sich nicht auf Schlüssel beziehen (z. B. Spalten, die in der STORING-Klausel eines Index angegeben werden).
IS_NULLABLE STRING Ein String, der angibt, ob die Spalte Nullwerte enthalten kann. Gemäß dem SQL-Standard ist der String entweder YES oder NO und kein boolescher Wert.
SPANNER_TYPE STRING Der Datentyp der Spalte.

COLUMN_OPTIONS

In dieser zeilenfiltrierten Tabelle sind die Spaltenoptionen in einer Tabelle aufgeführt. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptbevollmächtigten können nur Optionen für Spalten sehen, die eine der folgenden Anforderungen erfüllen:

  • Eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE wird der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public direkt für die Spalte gewährt.
  • Eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE wird der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public für die Tabelle gewährt, die die Spalte enthält.
Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Der Name des Katalogs. Immer ein leerer String.
TABLE_SCHEMA STRING Der Name des Schemas. Der Name ist für das Standardschema leer und für andere Schemas nicht leer (z. B. INFORMATION_SCHEMA selbst). Diese Spalte ist nie Null.
TABLE_NAME STRING Der Name der Tabelle.
COLUMN_NAME STRING Der Name der Spalte.
OPTION_NAME STRING Eine SQL-Kennung, die die Option eindeutig identifiziert. Diese Kennung ist der Schlüssel der OPTIONS-Klausel in DDL.
OPTION_TYPE STRING Ein Datentypname, der der Typ dieses Optionswerts ist.
OPTION_VALUE STRING Ein SQL-Literal, das den Wert dieser Option beschreibt. Der Wert dieser Spalte muss als Teil einer Abfrage analysiert werden können. Der Ausdruck, der beim Analysieren des Werts entsteht, muss in OPTION_TYPE umwandelbar sein. Diese Spalte ist nie Null.

SEQUENCES

In dieser Tabelle sind die Metadaten der Sequenzen aufgeführt. SEQUENCES wird basierend auf den Zugriffsberechtigungen für die detaillierte Zugriffssteuerung gefiltert, wenn ein Nutzer mit entsprechenden Berechtigungen eine Abfrage dazu ausführt.

Spaltenname Typ Beschreibung
CATALOG STRING Der Name des Katalogs, der die Sequenz enthält.
SCHEMA STRING Der Name des Schemas, das die Sequenz enthält.
NAME STRING Der Name der Sequenz.
DATA_TYPE STRING Der Typ der Sequenzwerte. Dabei wird der Datentyp INT64 verwendet.

SEQUENCE_OPTIONS

Diese Tabelle enthält die Konfigurationsoptionen für Sequenzen. SEQUENCE_OPTIONS wird basierend auf den Zugriffsberechtigungen für die detaillierte Zugriffssteuerung nach Zeilen gefiltert, wenn ein Nutzer mit entsprechenden Berechtigungen eine Abfrage ausführt.

Spaltenname Typ Beschreibung
CATALOG STRING Der Name des Katalogs, der die Sequenz enthält.
SCHEMA STRING Der Name des Schemas, das die Sequenz enthält.
NAME STRING Der Name der Sequenz.
OPTION_NAME STRING Der Name der Sequenzoption.
OPTION_TYPE STRING Ein Datentypname, der der Typ dieses Optionswerts ist.
OPTION_VALUE STRING Der Wert der Sequenzoption. Der Ausdruck, der beim Analysieren des Werts entsteht, muss eine Umwandlung in OPTION_TYPE zulassen.

SPANNER_STATISTICS

In dieser Tabelle sind die verfügbaren Statistikpakete für die Abfrageoptimierung aufgeführt.

Spaltenname Typ Beschreibung
CATALOG_NAME STRING Der Name des Katalogs. Immer ein leerer String.
SCHEMA_NAME STRING Der Name des Schemas. Der Name ist für das Standardschema leer und für andere Schemas nicht leer (z. B. INFORMATION_SCHEMA selbst). Diese Spalte ist nie Null.
PACKAGE_NAME STRING Der Name des Statistikpakets.
ALLOW_GC BOOL FALSE, wenn das Statistikpaket von der automatischen Speicherbereinigung ausgenommen ist; andernfalls TRUE.
Dieses Attribut muss auf FALSE gesetzt sein, um in einem Hinweis oder über die Client API auf das Statistikpaket zu verweisen.

VIEWS

In dieser zeilenfiltrierten Tabelle sind die Ansichten in der Datenbank aufgeführt. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Prinzipale können nur Ansichten sehen, für die das Berechtigungsprivileg SELECT für die aktuelle Datenbankrolle, für Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder für public gewährt wurde.

Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Der Name des Katalogs. Immer ein leerer String.
TABLE_SCHEMA STRING Der Name des Schemas. Eine leere Zeichenfolge, falls unbenannt.
TABLE_NAME STRING Der Name der Ansicht.
VIEW_DEFINITION STRING Der SQL-Text der Abfrage, die die Ansicht definiert.
SECURITY_TYPE STRING Der Sicherheitstyp der Ansicht. INVOKER oder DEFINER.

Weitere Informationen finden Sie unter Ansichten.

ROLES

In dieser gefilterten Tabelle sind die definierten Datenbankrollen für die detaillierte Zugriffssteuerung aufgeführt, einschließlich Systemrollen. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Datenbankrollen sehen. Alle anderen Hauptkonten können nur Datenbankrollen sehen, für die ihnen entweder direkt oder durch Übernahme Zugriff gewährt wurde.

Spaltenname Typ Beschreibung
ROLE_NAME STRING Der Name der Datenbankrolle.
IS_SYSTEM BOOL TRUE, wenn die Datenbankrolle eine Systemrolle ist, andernfalls FALSE.

ROLE_GRANTEES

In dieser zeilengefilterten Tabelle sind alle Rollenmitgliedschaften aufgeführt, die allen Datenbankrollen explizit gewährt wurden. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur die Rollenmitgliedschaften sehen, die der aktuellen Datenbankrolle oder einer Rolle gewährt wurden, deren Mitglied die aktuelle Datenbankrolle ist.

Da alle Datenbankrollen Mitglieder der öffentlichen Rolle sind, werden in den Ergebnissen Einträge für die implizite Mitgliedschaft in der öffentlichen Rolle ausgelassen.

Spaltenname Typ Beschreibung
ROLE_NAME STRING Der Name der Datenbankrolle, in der diese Mitgliedschaft gewährt wird.
GRANTEE STRING Der Name der Datenbankrolle, der diese Mitgliedschaft gewährt wird.

CHANGE_STREAMS

In dieser zeilenfiltrierten Tabelle sind alle Änderungsstreams einer Datenbank aufgeführt. Außerdem wird angegeben, welche Streams die gesamte Datenbank und welche bestimmte Tabellen oder Spalten verfolgen. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Änderungsstreams sehen, für die das Berechtigungsobjekt SELECT für die aktuelle Datenbankrolle, für Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder für public gewährt wurde.

Spaltenname Typ Beschreibung
CHANGE_STREAM_CATALOG STRING Der Name des Katalogs des Änderungsstreams. Immer ein leerer String.
CHANGE_STREAM_SCHEMA STRING Der Name des Schemas dieses Änderungsstreams. Immer ein leerer String.
CHANGE_STREAM_NAME STRING Der Name des Änderungsstreams.
ALL BOOL TRUE, wenn dieser Änderungsstream die gesamte Datenbank erfasst. FALSE, wenn dieser Änderungsstream bestimmte Tabellen oder Spalten erfasst.

CHANGE_STREAM_TABLES

Diese nach Zeilen gefilterte Tabelle enthält Informationen zu Tabellen und den zugehörigen Änderungsstreams. Jede Zeile beschreibt eine Tabelle und einen Änderungsstream. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Zeilen für Änderungsstreams sehen, für die das SELECT-Berechtigungsrecht der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public gewährt wurde.

Die Daten in CHANGE_STREAM_TABLES enthalten nicht die impliziten Beziehungen zwischen Tabellen und Änderungsstreams, die die gesamte Datenbank verfolgen.

Spaltenname Typ Beschreibung
CHANGE_STREAM_CATALOG STRING Der Name des Katalogs des Änderungsstreams. Immer ein leerer String.
CHANGE_STREAM_SCHEMA STRING Der Name des Schemas des Änderungsstreams. Immer ein leerer String.
CHANGE_STREAM_NAME STRING Der Name des Änderungsstreams, auf den sich diese Zeile bezieht.
TABLE_CATALOG STRING Der Name des Katalogs der Tabelle. Immer ein leerer String.
TABLE_SCHEMA STRING Der Name des Schemas der Tabelle. Immer ein leerer String.
TABLE_NAME STRING Der Name der Tabelle, auf die sich diese Zeile bezieht.
ALL_COLUMNS BOOL TRUE, wenn der Änderungsstream dieser Zeile die gesamte Tabelle erfasst, auf die sich diese Zeile bezieht. Andernfalls FALSE.

CHANGE_STREAM_COLUMNS

Diese zeilenfiltrierte Tabelle enthält Informationen zu Tabellenspalten und den Änderungsstreams, die sie beobachten. Jede Zeile beschreibt einen Änderungsstream und eine Spalte. Wenn ein Änderungsstream eine ganze Tabelle erfasst, werden die Spalten dieser Tabelle in dieser Ansicht nicht angezeigt.

Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Zeilen für Änderungsstreams sehen, für die das SELECT-Berechtigung der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public gewährt wurde.

Spaltenname Typ Beschreibung
CHANGE_STREAM_CATALOG STRING Der Name des Katalogs des Änderungsstreams. Immer ein leerer String.
CHANGE_STREAM_SCHEMA STRING Der Name des Schemas des Änderungsstreams. Immer ein leerer String.
CHANGE_STREAM_NAME STRING Der Name des Änderungsstreams.
TABLE_CATALOG STRING Der Name des Katalogs der Tabelle. Immer ein leerer String.
TABLE_SCHEMA STRING Der Name des Schemas der Tabelle. Immer ein leerer String.
TABLE_NAME STRING Der Name der Tabelle, auf die sich diese Zeile bezieht.
COLUMN_NAME STRING Der Name der Spalte, auf die sich diese Zeile bezieht.

CHANGE_STREAM_OPTIONS

Diese Tabelle mit Zeilenfilter enthält die Konfigurationsoptionen für Änderungsstreams. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Optionen für Änderungsstreams sehen, für die das SELECT-Berechtigung der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public gewährt wird.

Spaltenname Typ Beschreibung
CHANGE_STREAM_CATALOG STRING Der Name des Katalogs des Änderungsstreams. Immer ein leerer String.
CHANGE_STREAM_SCHEMA STRING Der Name des Schemas des Änderungsstreams. Immer ein leerer String.
CHANGE_STREAM_NAME STRING Der Name des Änderungsstreams.
OPTION_NAME STRING Der Name der Änderungsstream-Option.
OPTION_TYPE STRING Der Datentyp der Änderungsstream-Option.
OPTION_VALUE STRING Der Wert der Option „Stream ändern“.

CHANGE_STREAM_PRIVILEGES

In dieser nach Zeilen gefilterten Tabelle sind alle Berechtigungen für die detaillierte Zugriffssteuerung aufgeführt, die für alle Änderungsstreams für eine beliebige Datenbankrolle gewährt wurden, einschließlich public. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptpersonen können nur Berechtigungen sehen, die für die aktuelle Datenbankrolle, für Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder für public auf Änderungsstreams gewährt wurden.

Spaltenname Typ Beschreibung
CHANGE_STREAM_CATALOG STRING Der Name des Katalogs, der den Änderungsstream enthält (ein leerer String).
CHANGE_STREAM_SCHEMA STRING Der Name des Schemas, das den Änderungsstream enthält (ein leerer String).
CHANGE_STREAM_NAME STRING Der Name des Änderungsstreams.
PRIVILEGE_TYPE STRING SELECT (die einzige Berechtigung, die für Änderungsstreams zulässig ist).
GRANTEE STRING Der Name der Datenbankrolle, der dieses Berechtigung gewährt wird.

ROUTINES

In dieser nach Zeilen gefilterten Tabelle sind alle Lesefunktionen für Änderungsstreams einer Datenbank aufgeführt. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptrollen können nur Lesefunktionen für Änderungsstreams sehen, für die die Berechtigung für die detaillierte Zugriffssteuerung EXECUTE der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public gewährt wurde.

Spaltenname Typ Beschreibung
SPECIFIC_CATALOG STRING Der Name des Katalogs der Routine. Immer ein leerer String.
SPECIFIC_SCHEMA STRING Der Name des Schemas der Routine. Immer ein leerer String.
SPECIFIC_NAME STRING Der Name der Routine. Er identifiziert die Routine eindeutig, auch wenn ihr Name überladen ist.
ROUTINE_CATALOG STRING Der Name des Katalogs der Routine. Immer ein leerer String.
ROUTINE_SCHEMA STRING Der Name des Schemas der Routine. Immer ein leerer String.
ROUTINE_NAME STRING Der Name der Routine. (Bei Überlastung kann es zu Duplikaten kommen.)
ROUTINE_TYPE STRING Der Typ der Routine (FUNCTION oder PROCEDURE). Immer FUNCTION
DATA_TYPE STRING Der vom Ablauf zurückgegebene Datentyp
ROUTINE_BODY STRING Der Typ des Routine-Texts (SQL oder EXTERNAL).
ROUTINE_DEFINITION STRING Die Definition für die ROUTINE_BODY.
SECURITY_TYPE STRING Der Sicherheitstyp der Routine. Immer INVOKER.

ROUTINE_OPTIONS

Diese zeilenfiltrierte Tabelle enthält eine Zeile für jede Option für jede definierte Lesefunktion für Änderungsstreams.

Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptpersonen können nur Optionen für Lesefunktionen für Änderungsstreams sehen, für die das Berechtigungsobjekt EXECUTE für die aktuelle Datenbankrolle, für Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder für public gewährt wird.

Spaltenname Typ Beschreibung
SPECIFIC_CATALOG STRING Der Name des Katalogs der Routine. Immer ein leerer String.
SPECIFIC_SCHEMA STRING Der Name des Schemas der Routine. Immer ein leerer String.
SPECIFIC_NAME STRING Der Name der Routine. Damit wird die Routine bei einer Namensüberladung eindeutig identifiziert.
OPTION_NAME STRING Eine SQL-Kennung, die die Option eindeutig identifiziert.
OPTION_TYPE STRING Der Datentyp von OPTION_VALUE.
OPTION_VALUE STRING Ein SQL-Literal, das den Wert dieser Option beschreibt. Der Wert dieser Spalte muss als Teil einer Abfrage analysiert werden können.

PARAMETERS

In dieser zeilenfiltrierten Tabelle werden die Argumente für jede Lesefunktion des Änderungsstreams definiert. Jede Zeile beschreibt ein Argument für eine Lesefunktion für Änderungsstreams.

Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Prinzipale können nur Parameter für Lesefunktionen von Änderungsstreams sehen, für die das Berechtigungsprivileg EXECUTE für die aktuelle Datenbankrolle, für Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder für public gewährt wurde.

Spaltenname Typ Beschreibung
SPECIFIC_CATALOG STRING Der Name des Katalogs der Routine. Immer ein leerer String.
SPECIFIC_SCHEMA STRING Der Name des Schemas der Routine. Immer ein leerer String.
SPECIFIC_NAME STRING Der Name der Routine. Damit wird die Routine bei einer Namensüberladung eindeutig identifiziert.
ORDINAL_POSITION INT64 Die ordinale Position des Parameters in der Routine, beginnend mit dem Wert 1.
PARAMETER_NAME STRING Name des Parameters.
DATA_TYPE STRING Der Datentyp des Parameters.

ROUTINE_PRIVILEGES

In dieser nach Zeilen gefilterten Tabelle sind alle Berechtigungen für die detaillierte Zugriffssteuerung aufgeführt, die für alle Lesefunktionen von Änderungsstreams für eine beliebige Datenbankrolle gewährt wurden, einschließlich public. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Berechtigungen sehen, die der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public für Lesefunktionen des Änderungsstreams gewährt wurden.

Spaltenname Typ Beschreibung
SPECIFIC_CATALOG STRING Der Name des Katalogs der Routine. Immer ein leerer String.
SPECIFIC_SCHEMA STRING Der Name des Schemas der Routine. Immer ein leerer String.
SPECIFIC_NAME STRING Der Name der Routine. Damit wird die Routine bei einer Namensüberladung eindeutig identifiziert.
PRIVILEGE_TYPE STRING Immer EXECUTE.
GRANTEE STRING Der Name der Datenbankrolle, der dieses Berechtigung gewährt wird.

ROLE_TABLE_GRANTS

In dieser nach Zeilen gefilterten Tabelle sind alle Berechtigungen für die detaillierte Zugriffssteuerung aufgeführt, die für alle Tabellen und Ansichten für eine beliebige Datenbankrolle gewährt wurden, einschließlich public. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Berechtigungen sehen, die der aktuellen Datenbankrolle und Rollen zugewiesen sind, in denen die aktuelle Datenbankrolle Mitglied ist, mit Ausnahme von public.

Spaltenname Typ Beschreibung
GRANTOR STRING Nicht verwendet. Immer NULL.
GRANTEE STRING Der Name der Datenbankrolle, der dieses Berechtigung gewährt wird.
TABLE_CATALOG STRING Nicht verwendet. Immer ein leerer String.
TABLE_SCHEMA STRING Nicht verwendet. Immer ein leerer String.
TABLE_NAME STRING Der Name der Tabelle oder Ansicht.
PRIVILEGE_TYPE STRING Der Typ des Berechtigungstyps (SELECT, INSERT, UPDATE oder DELETE).
IS_GRANTABLE STRING Nicht verwendet. Immer NO.

ROLE_COLUMN_GRANTS

In dieser nach Zeilen gefilterten Tabelle sind alle Berechtigungen für die detaillierte Zugriffssteuerung aufgeführt, die für alle Spalten einer Datenbankrolle gewährt wurden, einschließlich public. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Berechtigungen sehen, die der aktuellen Datenbankrolle und Rollen gewährt wurden, in denen die aktuelle Datenbankrolle Mitglied ist, einschließlich public.

Die Ansicht enthält die Berechtigungen SELECT, INSERT und UPDATE, die die Spalte von der Tabelle oder Ansicht erbt, die die Spalte enthält.

Spaltenname Typ Beschreibung
GRANTOR STRING Nicht verwendet. Immer NULL.
GRANTEE STRING Der Name der Datenbankrolle, der dieses Berechtigung gewährt wird.
TABLE_CATALOG STRING Nicht verwendet. Immer ein leerer String.
TABLE_SCHEMA STRING Nicht verwendet. Immer ein leerer String.
TABLE_NAME STRING Der Name der Tabelle oder Ansicht, die die Spalte enthält.
COLUMN_NAME STRING Der Name der Spalte, für die das Berechtigung gewährt wird.
PRIVILEGE_TYPE STRING Der Typ des Berechtigungstyps (SELECT, INSERT oder UPDATE).
IS_GRANTABLE STRING Nicht verwendet. Immer NO.

ROLE_CHANGE_STREAM_GRANTS

In dieser nach Zeilen gefilterten Tabelle sind die SELECT-Berechtigungen aufgeführt, die allen Datenbankrollen, einschließlich public, für alle Änderungsstreams gewährt wurden. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Berechtigungen sehen, die für Änderungsstreams für die aktuelle Datenbankrolle und für Rollen gewährt wurden, in denen die aktuelle Datenbankrolle Mitglied ist, einschließlich public.

Spaltenname Typ Beschreibung
CHANGE_STREAM_CATALOG STRING Nicht verwendet. Immer ein leerer String.
CHANGE_STREAM_SCHEMA STRING Der Name des Schemas, das den Änderungsstream enthält.
CHANGE_STREAM_NAME STRING Der Name des Änderungsstreams.
PRIVILEGE_TYPE STRING Der Typ der Berechtigung (nur SELECT).
GRANTEE STRING Der Name der Datenbankrolle, der dieses Berechtigung gewährt wird.

ROLE_MODEL_GRANTS

In dieser nach Zeilen gefilterten Tabelle sind alle Berechtigungen für die detaillierte Zugriffssteuerung aufgeführt, die für alle Modelle für eine beliebige Datenbankrolle gewährt wurden, einschließlich public. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Berechtigungen sehen, die der aktuellen Datenbankrolle und Rollen zugewiesen sind, in denen die aktuelle Datenbankrolle Mitglied ist, mit Ausnahme von public.

Spaltenname Typ Beschreibung
GRANTOR STRING Nicht verwendet. Immer NULL.
GRANTEE STRING Der Name der Datenbankrolle, der dieses Berechtigung gewährt wird.
MODEL_CATALOG STRING Nicht verwendet. Immer ein leerer String.
MODEL_SCHEMA STRING Nicht verwendet. Immer ein leerer String.
MODEL_NAME STRING Der Name des Modells.
PRIVILEGE_TYPE STRING Der Typ der Berechtigung (EXECUTE).
IS_GRANTABLE STRING Nicht verwendet. Immer NO.

ROLE_ROUTINE_GRANTS

In dieser nach Zeilen gefilterten Tabelle sind die EXECUTE-Berechtigungen aufgeführt, die allen Datenbankrollen, einschließlich public, für alle Lesefunktionen des Änderungsstreams gewährt wurden. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Berechtigungen sehen, die der aktuellen Datenbankrolle und Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, für Lesefunktionen des Änderungsstreams gewährt wurden. public ist hiervon ausgenommen.

Spaltenname Typ Beschreibung
GRANTOR STRING Nicht verwendet. Immer NULL.
GRANTEE STRING Der Name der Rolle, für die das Berechtigung gewährt wird.
SPECIFIC_CATALOG STRING Der Name des Routinekatalogs.
SPECIFIC_SCHEMA STRING Der Name des Routineschemas.
SPECIFIC_NAME STRING Der Name der Routine. Damit wird die Routine bei einer Namensüberladung eindeutig identifiziert.
PRIVILEGE_TYPE STRING Die Art der gewährten Berechtigung. Immer EXECUTE.
IS_GRANTABLE STRING Nicht verwendet. Immer NO.

MODELS

In dieser Tabelle sind alle Modelle einer Datenbank aufgeführt.

Spaltenname Typ Beschreibung
MODEL_CATALOG STRING Der Name des Katalogs. Immer ein leerer String.
MODEL_SCHEMA STRING Der Name des Schemas dieses Modells. Immer ein leerer String.
MODEL_NAME STRING Der Name des Modells.
IS_REMOTE BOOL TRUE, wenn es sich um ein Remote-Modell handelt. FALSE, wenn es sich um ein verwaltetes Modell handelt.

MODEL_OPTIONS

Diese Tabelle enthält die Konfigurationsoptionen für Modelle.

Spaltenname Typ Beschreibung
MODEL_CATALOG STRING Der Name des Katalogs. Immer ein leerer String.
MODEL_SCHEMA STRING Der Name des Schemas dieses Modells. Immer ein leerer String.
MODEL_NAME STRING Der Name des Modells.
OPTION_NAME STRING Der Name der Modelloption.
OPTION_TYPE STRING Der Datentyp der Modelloption.
OPTION_VALUE STRING Der Wert der Modelloption.

MODEL_COLUMNS

In dieser Tabelle sind die Spalten in einem Modell aufgeführt.

Spaltenname Typ Beschreibung
MODEL_CATALOG STRING Der Name des Katalogs. Immer ein leerer String.
MODEL_SCHEMA STRING Der Name des Schemas dieses Modells. Immer ein leerer String.
MODEL_NAME STRING Der Name des Modells.
COLUMN_KIND STRING Art der Modellspalte. Eine der folgenden Rollen: "INPUT" oder "OUTPUT".
COLUMN_NAME STRING Der Name der Spalte.
DATA_TYPE STRING Der Standard-SQL-Datentyp der Spalte.
ORDINAL_POSITION INT64 Die ordinale Position der Spalte, beginnend mit dem Wert 1, um die Reihenfolge der deklarierten Spalten beizubehalten.
IS_EXPLICIT BOOL TRUE, wenn die Spalte explizit in der DDL angegeben wurde,FALSE, wenn die Spalte über den Endpunkt ermittelt wurde.

MODEL_COLUMN_OPTIONS

Diese Tabelle enthält die Konfigurationsoptionen für Modellspalten.

Spaltenname Typ Beschreibung
MODEL_CATALOG STRING Der Name des Katalogs. Immer ein leerer String.
MODEL_SCHEMA STRING Der Name des Schemas dieses Modells. Immer ein leerer String.
MODEL_NAME STRING Der Name des Modells.
COLUMN_KIND STRING Art der Modellspalte. Eine der folgenden Rollen: "INPUT" oder "OUTPUT".
COLUMN_NAME STRING Der Name der Spalte.
OPTION_NAME STRING Der Name der Option für die Modellspalte.
OPTION_TYPE STRING Der Datentyp der Option „Modellspalte“.
OPTION_VALUE STRING Der Wert der Option für die Modellspalte.

MODEL_PRIVILEGES

In dieser nach Zeilen gefilterten Tabelle sind alle Berechtigungen aufgeführt, die auf Modellebene für Datenbankrollen gewährt wurden, einschließlich public. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptpersonen können nur Berechtigungen für Modelle sehen, für die der aktuellen Datenbankrolle, Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public die Berechtigung EXECUTE „Detaillierte Zugriffssteuerung“ gewährt wurde.

Spaltenname Typ Beschreibung
MODEL_CATALOG STRING Nicht verwendet. Immer ein leerer String.
MODEL_SCHEMA STRING Nicht verwendet. Immer ein leerer String.
MODEL_NAME STRING Der Name des Modells, für das Berechtigungen für die detaillierte Zugriffssteuerung gewährt werden.
PRIVILEGE_TYPE STRING EXECUTE>
GRANTEE STRING Der Name der Datenbankrolle, der dieses Berechtigung gewährt wird.

PROPERTY_GRAPHS

In dieser zeilenfiltrierten Tabelle sind die Property-Graphen in der Datenbank aufgeführt. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur dann Property-Diagramme sehen, wenn sie die Anforderungen erfüllen, um alle Tabellen zu sehen, die zum Definieren dieser Diagramme verwendet werden.

Spaltenname Typ Beschreibung
PROPERTY_GRAPH_CATALOG STRING Der Name des Katalogs. Immer ein leerer String.
PROPERTY_GRAPH_SCHEMA STRING Der Name des Schemas. Eine leere Zeichenfolge, falls unbenannt.
PROPERTY_GRAPH_NAME STRING Der Name der Attributgrafik.
PROPERTY_GRAPH_METADATA_JSON JSON Die Definition der Property-Graph im JSON-Format.

Die Spalte PROPERTY_GRAPH_METADATA_JSON enthält ein PropertyGraph-JSON-Objekt mit folgender Definition:

Name des JSON-Objekts Feldname JSON-Typ Beschreibung
PropertyGraph catalog string Der Name des Katalogs. Immer ein leerer String.
schema string Der Name des Schemas. Eine leere Zeichenfolge, falls unbenannt.
name string Der Name der Attributgrafik.
nodeTables array<object> Eine Liste von GraphElementTable-Objekten für Knoten.
edgeTables array<object> Eine Liste von GraphElementTable-Objekten für Kanten.
labels array<object> Eine Liste mit GraphElementLabel-Objekten.
propertyDeclarations array<object> Eine Liste mit GraphPropertyDeclaration-Objekten.
GraphElementTable name string Der Name der Tabelle mit den Diagrammelementen.
kind string NODE oder EDGE.
baseCatalogName string Der Name des Katalogs, der die Basistabelle enthält.
baseSchemaName string Der Name des Schemas, das die Basistabelle enthält.
baseTableName string Der Name der Eingabetabelle, aus der Elemente erstellt werden.
keyColumns array<string> Die Spaltennamen, die den Elementschlüssel bilden.
labelNames array<string> Die Labelnamen, die mit dieser Elementtabelle verknüpft sind.
propertyDefinitions array<object> Eine Liste mit GraphPropertyDefinition-Objekten.
sourceNodeTable object Ein GraphNodeTableReference-Objekt. Existiert nur, wenn kind EDGE ist.
destinationNodeTable object Ein GraphNodeTableReference-Objekt. Existiert nur, wenn kind EDGE ist.
GraphNodeTableReference nodeTableName string Der Name der Tabelle mit den Diagrammelementen.
edgeTableColumns array<string> Der Name der Spalten, die den Quell- und Zielschlüsseln für die Kanten zugeordnet sind.
nodeTableColumns array<string> Der Name der Spalten, die mit den Quell- und Zielschlüsseln für die Knoten verknüpft sind.
GraphElementLabel name string Der Name des Labels.
propertyDeclarationNames array<string> Die Namen der Unterkünfte, die mit diesem Label verknüpft sind.
GraphPropertyDeclaration name string Der Name der Unterkunft.
type string Der Typ der Unterkunft.
GraphPropertyDefinition propertyDeclarationName string Der Name der Unterkunft.
valueExpressionSql string Der Ausdruck, der die Property definiert.

Beispiele

Gibt Informationen zu allen Tabellen im Nutzerschema zurück:

SELECT
  t.table_name,
  t.parent_table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema = ''
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name

Gibt den Namen aller Tabellen im INFORMATION_SCHEMA zurück:

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

Informationen zu den Spalten in der Nutzertabelle MyTable zurückgeben:

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

Gibt Informationen zur standardmäßig führenden Region für die Datenbank zurück. Wenn nicht die standardmäßige führende Region festgelegt ist, werden leere Werte zurückgegeben.

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

Gibt Informationen zu allen Indexen im Nutzerschema zurück:

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

Gibt alle Spalten zurück, die andere Optionen als die Standardoptionen verwenden:

SELECT
  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 = ''

Gibt die aktuellen Datenbankoptionen im Optimierungstool zurück:

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')

Gibt alle verfügbaren Statistikpakete zurück:

SELECT
  *
FROM
  information_schema.spanner_statistics;

Alle Sequenzen zurückgeben:

SELECT
  *
FROM
  information_schema.sequences;

Alle Sequenzoptionen für die Sequenz „MeineSequenz“ zurückgeben

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

Die Namen aller Property-Graphen und ihre Definitionen zurückgeben:

SELECT
  property_graph_name,
  property_graph_metadata_json
FROM
  information_schema.property_graphs

Die Namen aller Property-Graphen zusammen mit ihren Labels und Properties zurückgeben:

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

Nächste Schritte

  • Informieren Sie sich über die verfügbaren Tools zur Überprüfung, mit denen Sie Datenbankprobleme untersuchen können.