Informationsschema für Datenbanken mit GoogleSQL-Dialekt

Das Informationsschema ist ein integriertes Schema, das in jeder Spanner-Datenbank vorhanden ist. 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_schema,
    table_name
  FROM
    information_schema.tables
  WHERE
    table_schema NOT IN ('information_schema', 'SPANNER_SYS')
    AND table_type = 'BASE TABLE'

Nutzer mit detaillierter Zugriffssteuerung sehen für einige INFORMATION_SCHEMA-Tabellen gefilterte Ergebnisse, je nach ihrer Datenbankrolle. 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 Methoden zum Lesen einzelner Elemente unterstützen INFORMATION_SCHEMA nicht.

Weitere Hinweise zur Verwendung von INFORMATION_SCHEMA:

Zeilenfilterung in information_schema-Tabellen

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 allen information_schema-Tabellen sehen. Bei anderen Hauptkonten werden die Zeilen für einige Tabellen anhand der aktuellen Datenbankrolle gefiltert. In den Tabellen- und Ansichtsbeschreibungen in den folgenden Abschnitten wird angegeben, wie die Zeilenfilterung für die einzelnen Tabellen und Ansichten angewendet wird.

Tabellen im INFORMATION_SCHEMA

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

SCHEMATA

In der Tabelle INFORMATION_SCHEMA.SCHEMATA sind die Schemas in der Datenbank aufgeführt. Dazu gehören das Informationsschema und die benannten Schemas, die die von Ihnen definierten Tabellen enthalten.

Spaltenname Typ Beschreibung
CATALOG_NAME STRING Der Name des Katalogs. Diese Spalte ist aus Gründen der Kompatibilität mit SQL-Standard-Informationsschematabellen vorhanden. Diese Spalte ist immer ein leerer String.
SCHEMA_NAME STRING Der Name des Schemas. Dies ist ein 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 das Placement das Standard-Placement ist.

PLACEMENT_OPTIONS

In dieser Tabelle sind für jedes Placement die Optionen aufgeführt, die für das Placement in der OPTIONS-Klausel der CREATE PLACEMENT-Anweisung 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 Platzierungsoption. Für beide Optionen ist dies STRING(MAX).
OPTION_VALUE STRING Der Wert der Platzierungsoption. Bei instance_partition ist dies der Name der Instanzpartition. Bei default_leader ist es der Name der standardmäßigen führenden Region.

LOCALITY_GROUP_OPTIONS

In dieser Tabelle sind für jede Standortgruppe der Name und die Optionen aufgeführt, die für die Standortgruppe in der OPTIONS-Klausel der CREATE LOCALITY GROUP-Anweisung festgelegt sind.

Spaltenname Typ Beschreibung
LOCALITY_GROUP_NAME STRING Der Name der Standortgruppe.
OPTION_NAME STRING Der Name der Option für die Standortgruppe. Gültige Optionen sind:
  • STORAGE: Definiert den Speichertyp für die Lokalisierungsgruppe.
  • SSD_TO_HDD_SPILL_TIMESPAN: Definiert, wie lange Daten im SSD-Speicher gespeichert werden, bevor sie in den HDD-Speicher verschoben werden.
OPTION_VALUE STRING Der Wert der Option für die Standortgruppe. Für STORAGE ist dies entweder ssd oder hdd. Bei SSD_TO_HDD_SPILL_TIMESPAN ist dies die Zeitspanne, die Daten auf SSD-Speicher gespeichert werden müssen, bevor sie auf HDD-Speicher verschoben werden. Beispiel: 10d beträgt 10 Tage. Die Mindestdauer, die Sie festlegen können, beträgt eine Stunde.

TABLES

In dieser nach Zeilen gefilterten 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 Hauptkonten 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 für die Tabelle der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public gewährt.
  • Die Berechtigungen SELECT, INSERT oder UPDATE werden für jede Tabellenspalte der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public gewährt.
Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Nicht verwendet. Immer ein leerer String.
TABLE_SCHEMA STRING Der Schemaname der Tabelle. Der Name ist für das Standardschema leer und enthält einen Wert für andere Schemas. Diese Spalte enthält immer einen Wert.
TABLE_NAME STRING Der Name der Tabelle, Ansicht oder des Synonyms.
TABLE_TYPE STRING Der Typ der Tabelle. Für Tabellen hat sie den Wert BASE TABLE, für Ansichten den Wert VIEW und für Synonyme den Wert SYNONYM.
PARENT_TABLE_NAME STRING Der Name der übergeordneten Tabelle, wenn diese Tabelle verschachtelt ist, andernfalls NULL.
ON_DELETE_ACTION STRING Dieser Wert wird für verschachtelte Tabellen auf CASCADE oder NO ACTION und andernfalls auf NULL gesetzt. Weitere Informationen finden Sie unter TABLE-Anweisungen.
SPANNER_STATE STRING Eine Tabelle kann während der Erstellung mehrere Status durchlaufen, wenn Bulk-Vorgänge beteiligt sind. Beispiel: Wenn die Tabelle mit einem Fremdschlüssel erstellt wird, dessen Indexe nachträglich gefüllt werden müssen. 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 übernommen. Sie können erst in die Tabelle schreiben, wenn die Änderung übernommen wurde.
INTERLEAVE_TYPE STRING Der Ausdruckstext, der angibt, ob eine hierarchische Beziehung zwischen dieser Tabelle und der Tabelle besteht, in der sie verschachtelt ist. Mögliche Werte sind:
  • IN: Die Tabelle hat keine übergeordnete/untergeordnete Beziehung. Eine Zeile in dieser Tabelle kann unabhängig von der Existenz der übergeordneten Tabellenzeile vorhanden sein.
  • IN PARENT: Die Tabelle hat eine Über-/Untergeordnet-Beziehung. Eine Zeile in dieser Tabelle erfordert die Existenz der übergeordneten Tabellenzeile.
  • Ein leerer String gibt an, dass diese Tabelle keine verschachtelten 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 zeilengefilterten Tabelle werden 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 Hauptkonten können nur Spalten sehen, die eine der folgenden Anforderungen erfüllen:

  • Eine der detaillierten Zugriffssteuerungsberechtigungen SELECT, INSERT oder UPDATE wird direkt für die Spalte der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public gewährt.
  • Eine der detaillierten Zugriffssteuerungsberechtigungen SELECT, INSERT oder UPDATE wird für die Tabelle gewährt, die die Spalte für die aktuelle Datenbankrolle, für Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder für public enthält.
Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Nicht verwendet. Immer ein leerer String.
TABLE_SCHEMA STRING Der Schemaname der Tabelle der Spalte. Der Name ist für das Standardschema leer und enthält einen Wert für andere Schemas. Diese Spalte enthält immer einen Wert.
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.
IS_HIDDEN STRING Ein String, der auf TRUE gesetzt wird, wenn die Spalte nicht in einer SELECT *-Abfrage vorkommt, und andernfalls auf FALSE. Wenn die Spalte ausgeblendet ist, können Sie sie trotzdem über ihren Namen auswählen (z. B. SELECT Id, Name, ColHidden FROM TableWithHiddenColumn).
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. Lesen ist nicht zulässig.
  • COMMITTED: Die Spalte ist vollständig nutzbar.
IS_IDENTITY STRING Ein String, der auf YES gesetzt wird, wenn die generierte Spalte eine Identitätsspalte ist, andernfalls auf NO.
IDENTITY_GENERATION STRING Ein String, der angibt, ob die Spalte nur generierte und keine benutzerdefinierten Werte zulässt.
  • BY DEFAULT: Der Standardwert. BY DEFAULT gibt an, dass die Spalte generierte Werte verwendet, wenn keine vom Nutzer eingefügten Werte angegeben sind.
  • ALWAYS: Die Spalte lässt nur generierte Werte zu, keine benutzerdefinierten Werte, die vom Nutzer eingefügt wurden.
IDENTITY_KIND STRING Immer BIT_REVERSED_POSITITVE_SEQUENCE. Es werden nur bitumgekehrte positive Sequenzen unterstützt.
IDENTITY_START_WITH_COUNTER STRING Der Startwert des internen Zählers vor der Transformation. Beispiel: Der Startwert vor der Bitumkehrung.
IDENTITY_SKIP_RANGE_MIN STRING Der Mindestwert eines übersprungenen Bereichs nach der Transformation.
IDENTITY_SKIP_RANGE_MAX STRING Der Höchstwert eines übersprungenen Bereichs nach der Transformation.
ON_UPDATE_EXPRESSION STRING Ein STRING mit der SQL-Darstellung des Ausdrucks „ON UPDATE“ für eine Spalte. Wenn die Spalte keinen „ON UPDATE“-Wert hat, ist der Wert „NULL“.

COLUMN_PRIVILEGES

In dieser zeilengefilterten Tabelle sind alle Berechtigungen aufgeführt, die auf Spaltenebene 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 Berechtigungen nur für Spalten sehen, die eine der folgenden Anforderungen erfüllen:

  • Eine der detaillierten Zugriffssteuerungsberechtigungen SELECT, INSERT oder UPDATE wird direkt für die Spalte der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public gewährt.
  • Eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE wird für die Tabelle, die die Spalte enthält, der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public gewährt.
Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Nicht verwendet. Immer ein leerer String.
TABLE_SCHEMA STRING Der Schemaname der Tabelle der Spalte. Der Name ist für das Standardschema leer und enthält einen Wert für andere Schemas. Diese Spalte enthält immer einen Wert.
TABLE_NAME STRING Der Name der Tabelle, die die privilegierte Spalte enthält.
COLUMN_NAME STRING Der Name der privilegierten Spalte.
PRIVILEGE_TYPE STRING SELECT, INSERT, UPDATE
GRANTEE STRING Der Name der Datenbankrolle, der diese Berechtigung gewährt wird.

TABLE_PRIVILEGES

In dieser zeilengefilterten 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, deren Mitglied die aktuelle Datenbankrolle ist, oder public eine der detaillierten Zugriffssteuerungsberechtigungen SELECT, INSERT, UPDATE oder DELETE gewährt wurde.

Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Nicht verwendet. Immer ein leerer String.
TABLE_SCHEMA STRING Der Schemaname der Tabelle. Der Name ist für das Standardschema leer und enthält einen Wert für andere Schemas. Diese Spalte enthält immer einen Wert.
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 diese 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 Schemaname der eingeschränkten Tabelle. Der Name ist für das Standardschema leer und enthält einen Wert für andere Schemas. Diese Spalte enthält immer einen Wert.
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 informativer (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 Schemaname der eingeschränkten Tabelle. Der Name ist für das Standardschema leer und enthält einen Wert für andere Schemas. Diese Spalte enthält immer einen Wert.
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 Schemas des FREMDSCHLÜSSELS. Eine leere Zeichenfolge, falls unbenannt.
CONSTRAINT_NAME STRING Der Name des Fremdschlüssels.
UNIQUE_CONSTRAINT_CATALOG STRING Der Katalogname der PRIMARY KEY- oder UNIQUE-Einschränkung, auf die der FOREIGN KEY verweist. Immer ein leerer String.
UNIQUE_CONSTRAINT_SCHEMA STRING Der Schemaname der PRIMARY KEY- oder UNIQUE-Einschränkung, auf die der FOREIGN KEY verweist. 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 Entweder CASCADE, SET NULL oder NO ACTION.
SPANNER_STATE STRING Der aktuelle Status des Fremdschlüssels. Spanner beginnt erst mit der Durchsetzung der Einschränkung, wenn die Sicherungsindexe des Fremdschlüssels erstellt und gefüllt wurden. Sobald die Indexe bereit sind, beginnt Spanner mit der Durchsetzung der Einschränkung für neue Transaktionen, 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 validiert.
  • WAITING_FOR_COMMIT: Die Fremdschlüssel-Bulk-Vorgänge wurden erfolgreich abgeschlossen oder es waren keine erforderlich, aber der Fremdschlüssel ist 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 zeilengefilterte Tabelle enthält eine Zeile für jede Spalte der Tabellen aus TABLE_CONSTRAINTS, die durch eine PRIMARY KEY-, FOREIGN KEY- oder UNIQUE-Einschränkung 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 Hauptkonten können nur Spalten sehen, die die folgenden Kriterien erfüllen:

  • Eine der detaillierten Zugriffssteuerungsberechtigungen SELECT, INSERT oder UPDATE wird direkt für die Spalte der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public gewährt.
  • Eine der detaillierten Zugriffssteuerungsberechtigungen SELECT, INSERT oder UPDATE wird für die Tabelle gewährt, die die Spalte für die aktuelle Datenbankrolle, für Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder für public 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, wenn kein Name vorhanden ist.
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 Schemaname der Tabelle der eingeschränkten Spalte. Der Name ist für das Standardschema leer und enthält einen Wert für andere Schemas. Diese Spalte enthält immer einen Wert.
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 Bei FOREIGN KEYs die ordinale Position der Spalte innerhalb der eindeutigen Einschränkung, beginnend mit dem Wert 1. Diese Spalte ist für andere Einschränkungstypen 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 der FOREIGN KEY-Einschränkungen.

Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Der Name des Katalogs der Spaltentabelle. Immer ein leerer String.
TABLE_SCHEMA STRING Der Schemaname der Tabelle der Spalte. Der Name ist für das Standardschema leer und enthält einen Wert für andere Schemas. Diese Spalte enthält immer einen Wert.
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 Synonyme für die Tabelle aufgeführt.

Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Nicht verwendet. Immer ein leerer String.
TABLE_SCHEMA STRING Der Schemaname der Tabelle. Der Name ist für das Standardschema leer und enthält einen Wert für andere Schemas. Diese Spalte enthält immer einen Wert.
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 zeilengefilterten 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 Hauptkonten können nur Indexe sehen, die eine der folgenden Anforderungen erfüllen:

  • Eine der detaillierten Zugriffssteuerungsberechtigungen SELECT, INSERT oder UPDATE wird auf Spaltenebene für alle Spalten im Index der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public gewährt.
  • Eine der detaillierten Zugriffssteuerungsberechtigungen SELECT, INSERT, UPDATE oder DELETE wird für die Tabelle gewährt, die den Index für die aktuelle Datenbankrolle, für Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder für public hat.
Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Der Name des Katalogs. Immer ein leerer String.
TABLE_SCHEMA STRING Der Schemaname der Indextabelle. Der Name ist für das Standardschema leer und enthält einen Wert für andere Schemas. Diese Spalte enthält immer einen Wert.
TABLE_NAME STRING Der Name der Tabelle.
INDEX_NAME STRING Der Name des Index. Für Tabellen mit einer PRIMARY KEY-Spezifikation wird ein Pseudoindexeintrag mit dem Namen PRIMARY_KEY generiert, mit dem 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 verschachtelt werden, wie unter Sekundären Index erstellen beschrieben. Diese Spalte enthält den Namen der übergeordneten Tabelle oder einen leeren String, wenn der Index nicht verschachtelt 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. Mögliche Werte und die von ihnen dargestellten Status sind:
  • 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: Prüfen der Eindeutigkeit von Daten in einem neuen Index.
  • 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 Hauptkonten können nur Indexe sehen, die eine der folgenden Anforderungen erfüllen:

  • Eine der detaillierten Zugriffssteuerungsberechtigungen SELECT, INSERT oder UPDATE wird auf Spaltenebene für alle Spalten im Index der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public gewährt.
  • Eine der detaillierten Zugriffssteuerungsberechtigungen SELECT, INSERT oder UPDATE wird für die Tabelle gewährt, die einen Index für die aktuelle Datenbankrolle, für Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder für public hat.
Spaltenname Typ Beschreibung
TABLE_CATALOG STRING Der Name des Katalogs. Immer ein leerer String.
TABLE_SCHEMA STRING Der Schemaname der Indextabelle. Der Name ist für das Standardschema leer und enthält einen Wert für andere Schemas. Diese Spalte enthält immer einen Wert.
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 für Nicht-Schlüsselspalten (z. B. Spalten, die in der STORING-Klausel eines Index angegeben sind).
COLUMN_ORDERING STRING Die Reihenfolge innerhalb der Spalte. Der Wert ist ASC oder DESC für Schlüsselspalten und NULL für Nicht-Schlüsselspalten (z. B. Spalten, die in der STORING-Klausel eines Index angegeben sind).
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 nach Zeilen gefilterten 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 Hauptkonten können nur Optionen für Spalten sehen, die eine der folgenden Anforderungen erfüllen:

  • Eine der detaillierten Zugriffssteuerungsberechtigungen SELECT, INSERT oder UPDATE wird direkt für die Spalte der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public gewährt.
  • Eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE wird für die Tabelle, die die Spalte enthält, der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public gewährt.
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 Sequenzmetadaten aufgeführt. SEQUENCES wird basierend auf detaillierten Zugriffsberechtigungen zeilenweise gefiltert, wenn ein Nutzer mit detaillierten Zugriffsberechtigungen 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.
DATA_TYPE STRING Der Typ der Sequenzwerte. Es wird der Datentyp INT64 verwendet.

SEQUENCE_OPTIONS

Diese Tabelle enthält die Konfigurationsoptionen für Sequenzen. SEQUENCE_OPTIONS wird basierend auf detaillierten Zugriffsberechtigungen zeilenweise gefiltert, wenn ein Nutzer mit detaillierten Zugriffsberechtigungen sie abfragt.

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 sich aus dem Parsen des Werts ergibt, 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 werden, damit das Statistikpaket in einem Hinweis oder über die Client API referenziert werden kann.

VIEWS

In dieser nach Zeilen gefilterten 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 Hauptkonten können nur Ansichten sehen, für die der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public die Berechtigung für die detaillierte Zugriffssteuerung SELECT 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 Informationen zu Ansichten.

ROLES

In dieser zeilengefilterten 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, auf 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 keine Einträge für die implizite Mitgliedschaft in der öffentlichen Rolle angezeigt.

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 zugewiesen wird.

CHANGE_STREAMS

In dieser zeilengefilterten Tabelle sind alle Änderungsstreams einer Datenbank aufgeführt. Außerdem wird angegeben, welche 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 der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public die detaillierte Zugriffssteuerungsberechtigung SELECT 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 verfolgt. FALSE, wenn dieser Änderungsstream bestimmte Tabellen oder Spalten verfolgt.

CHANGE_STREAM_TABLES

Diese zeilengefilterte Tabelle enthält Informationen zu Tabellen und den Änderungsstreams, die sie beobachten. In jeder Zeile werden eine Tabelle und ein Änderungsstream beschrieben. 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 der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public die Berechtigung SELECT 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 verfolgt, auf die sich diese Zeile bezieht. Andernfalls FALSE.

CHANGE_STREAM_COLUMNS

Diese zeilengefilterte Tabelle enthält Informationen zu Tabellenspalten und den Änderungsstreams, die sie beobachten. In jeder Zeile werden ein Änderungsstream und eine Spalte beschrieben. Wenn ein Änderungsstream eine gesamte Tabelle verfolgt, werden die Spalten in dieser Tabelle nicht in dieser Ansicht 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 der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public die Berechtigung SELECT 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 zeilengefilterte Tabelle 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 der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public die Berechtigung SELECT 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.
OPTION_NAME STRING Der Name der Änderungsstream-Option.
OPTION_TYPE STRING Der Datentyp der Änderungsstream-Option.
OPTION_VALUE STRING Der Wert der Änderungsstream-Option.

CHANGE_STREAM_PRIVILEGES

In dieser zeilengefilterten Tabelle sind alle detaillierten Zugriffssteuerungsberechtigungen 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 Hauptkonten können nur Berechtigungen sehen, die für Änderungsstreams der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public 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 diese Berechtigung gewährt wird.

ROUTINES

In dieser zeilengefilterten 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 Hauptkonten können nur Lesefunktionen für Änderungsstreams sehen, für die der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public die Berechtigung für die detaillierte Zugriffssteuerung EXECUTE 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. 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. (Kann bei Überlastung dupliziert werden.)
ROUTINE_TYPE STRING Der Typ der Routine (FUNCTION oder PROCEDURE). Immer FUNCTION
DATA_TYPE STRING Der Datentyp, den die Routine zurückgibt
ROUTINE_BODY STRING Der Typ des Routinentexts (SQL oder EXTERNAL).
ROUTINE_DEFINITION STRING Die Definition für ROUTINE_BODY.
SECURITY_TYPE STRING Der Sicherheitstyp der Routine. Immer INVOKER.

ROUTINE_OPTIONS

Diese zeilengefilterte 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 Hauptkonten können nur Optionen für Lesefunktionen von Änderungsstreams sehen, für die der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public die detaillierte Zugriffssteuerungsberechtigung EXECUTE 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. Identifiziert die Routine im Falle einer Namensüberladung eindeutig.
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 geparst werden können.

PARAMETERS

In dieser zeilengefilterten Tabelle werden die Argumente für jede Lesefunktion für Ä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 Hauptkonten können nur Parameter für Lesefunktionen von Änderungsstreams sehen, für die der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public die Berechtigung für die detaillierte Zugriffssteuerung EXECUTE 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. Identifiziert die Routine im Falle einer Namensüberladung eindeutig.
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.
PARAMETER_DEFAULT STRING Der Standardwert des Parameters oder NULL für Parameter, die keinen Standardwert haben.

ROUTINE_PRIVILEGES

In dieser zeilengefilterten Tabelle sind alle detaillierten Zugriffssteuerungsberechtigungen aufgeführt, die für alle Lesefunktionen von Änderungsstreams für alle Datenbankrollen, einschließlich public, 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 Änderungsstream-Lesefunktionen der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public 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. Identifiziert die Routine im Falle einer Namensüberladung eindeutig.
PRIVILEGE_TYPE STRING Immer EXECUTE.
GRANTEE STRING Der Name der Datenbankrolle, der diese Berechtigung gewährt wird.

ROLE_TABLE_GRANTS

In dieser zeilengefilterten Tabelle sind alle Berechtigungen für die detaillierte Zugriffssteuerung aufgeführt, die für alle Tabellen und Ansichten für jede Datenbankrolle, einschließlich public, 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 Tabellen und Ansichten der aktuellen Datenbankrolle und Rollen, zu denen die aktuelle Datenbankrolle gehört, gewährt wurden, mit Ausnahme von public.

Spaltenname Typ Beschreibung
GRANTOR STRING Nicht verwendet. Immer NULL.
GRANTEE STRING Der Name der Datenbankrolle, der diese 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 der Berechtigung (SELECT, INSERT, UPDATE oder DELETE).
IS_GRANTABLE STRING Nicht verwendet. Immer NO.

ROLE_COLUMN_GRANTS

In dieser zeilengefilterten Tabelle sind alle detaillierten Zugriffssteuerungsberechtigungen aufgeführt, die für alle Spalten einer beliebigen 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 für Spalten der aktuellen Datenbankrolle und für Rollen gewährt wurden, zu denen die aktuelle Datenbankrolle gehört, mit Ausnahme von public.

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

Spaltenname Typ Beschreibung
GRANTOR STRING Nicht verwendet. Immer NULL.
GRANTEE STRING Der Name der Datenbankrolle, der diese 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 die Berechtigung gewährt wird.
PRIVILEGE_TYPE STRING Der Typ der Berechtigung (SELECT, INSERT oder UPDATE).
IS_GRANTABLE STRING Nicht verwendet. Immer NO.

ROLE_CHANGE_STREAM_GRANTS

In dieser zeilengefilterten Tabelle sind die SELECT-Berechtigungen aufgeführt, die für alle Änderungsstreams für jede Datenbankrolle, einschließlich public, 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 der aktuellen Datenbankrolle und Rollen gewährt wurden, zu denen die aktuelle Datenbankrolle gehört, mit Ausnahme von 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 diese Berechtigung gewährt wird.

ROLE_MODEL_GRANTS

In dieser zeilengefilterten Tabelle sind alle detaillierten Zugriffssteuerungsberechtigungen aufgeführt, die für alle Modelle einer beliebigen 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 für Tabellen und Ansichten der aktuellen Datenbankrolle und Rollen, zu denen die aktuelle Datenbankrolle gehört, gewährt wurden, mit Ausnahme von public.

Spaltenname Typ Beschreibung
GRANTOR STRING Nicht verwendet. Immer NULL.
GRANTEE STRING Der Name der Datenbankrolle, der diese 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 zeilengefilterten Tabelle sind die EXECUTE-Berechtigungen aufgeführt, die für alle Lesefunktionen von Änderungsstreams für alle Datenbankrollen, einschließlich public, 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 Lesefunktionen von Änderungsstreams für die aktuelle Datenbankrolle und für Rollen gewährt wurden, zu denen die aktuelle Datenbankrolle gehört, mit Ausnahme von public.

Spaltenname Typ Beschreibung
GRANTOR STRING Nicht verwendet. Immer NULL.
GRANTEE STRING Der Name der Rolle, der die 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. Identifiziert die Routine im Falle einer Namensüberladung eindeutig.
PRIVILEGE_TYPE STRING Der Typ 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 Modellspaltenart. Eine der Folgenden: "INPUT" oder "OUTPUT".
COLUMN_NAME STRING Der Name der Spalte.
DATA_TYPE STRING Der Standard-SQL-Datentyp der Spalte.
ORDINAL_POSITION INT64 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 vom Endpunkt erkannt 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 Modellspaltenart. Eine der Folgenden: "INPUT" oder "OUTPUT".
COLUMN_NAME STRING Der Name der Spalte.
OPTION_NAME STRING Der Name der Modellspaltenoption.
OPTION_TYPE STRING Der Datentyp der Modellspaltenoption.
OPTION_VALUE STRING Der Wert der Modellspaltenoption.

MODEL_PRIVILEGES

In dieser zeilengefilterten Tabelle sind alle Berechtigungen aufgeführt, die Datenbankrollen auf Modellebene 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 Prinzipale können Berechtigungen nur für Modelle sehen, für die der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public die Berechtigung für die 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 detaillierte Zugriffssteuerungsberechtigungen gewährt werden.
PRIVILEGE_TYPE STRING EXECUTE>
GRANTEE STRING Der Name der Datenbankrolle, der diese Berechtigung gewährt wird.

PROPERTY_GRAPHS

In dieser zeilengefilterten 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 Property Graphs nur sehen, wenn sie die Anforderungen erfüllen, um alle Tabellen zu sehen, die zur Definition dieser Graphen 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 des Eigenschaftsgraphen im JSON-Format.

Die Spalte PROPERTY_GRAPH_METADATA_JSON enthält ein PropertyGraph-JSON-Objekt, das so definiert ist:

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 Graphelementtabelle.
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 dieser Elementtabelle zugeordnet sind.
propertyDefinitions array<object> Eine Liste mit GraphPropertyDefinition-Objekten.
dynamicLabelExpr string Der Name der Spalte, die die DYNAMIC LABEL-Definition enthält.
dynamicPropertyExpr string Der Name der Spalte, die die DYNAMIC PROPERTIES-Definition enthält.
sourceNodeTable object Ein GraphNodeTableReference-Objekt. Nur vorhanden, wenn der kind EDGE ist.
destinationNodeTable object Ein GraphNodeTableReference-Objekt. Nur vorhanden, wenn der kind EDGE ist.
GraphNodeTableReference nodeTableName string Der Name der Graphelementtabelle.
edgeTableColumns array<string> Der Name der Spalten, die mit den Quell- und Zielschlüsseln für die Kanten verknüpft 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 Property.
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_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

Geben Sie 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 im Standardschema 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_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

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

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

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 „MySequence“ zurückgeben

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

Gibt die Namen aller Eigenschaftsgraphen und ihre Definitionen zurück:

SELECT
  property_graph_name,
  property_graph_metadata_json
FROM
  information_schema.property_graphs

Geben Sie die Namen aller Eigenschaftsgraphen zusammen mit ihren Labels und Eigenschaften zurück:

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

Nächste Schritte

  • Informationen zu verfügbaren Introspektionstools, mit denen Sie Datenbankprobleme untersuchen können