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_schema,
    table_name
  FROM
    information_schema.tables
  WHERE
    table_schema NOT IN ('information_schema', 'SPANNER_SYS')
    AND table_type = 'BASE TABLE'

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

Nutzung

Auf INFORMATION_SCHEMA-Tabellen kann nur über SQL-Oberflächen zugegriffen werden. Beispiel:

  • 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.

Zusätzliche 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 Identitäten werden die Zeilen für einige Tabellen basierend auf der aktuellen Datenbankrolle gefiltert. In den Tabellen- und Ansichtsbeschreibungen in den folgenden Abschnitten wird angegeben, wie das Zeilenfiltern für die einzelnen Tabellen und Ansichten angewendet wird.

Tabellen in INFORMATION_SCHEMA

In den folgenden Abschnitten werden die Tabellen in der INFORMATION_SCHEMA für GoogleSQL-Dialektdatenbanken 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 ein Name für benannte Schemas oder `` für das Standardschema.
PROTO_BUNDLE STRING Wenn die Datenbank Proto-Bundle-Anweisungen enthält, liefert 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 im OPTIONS-Abschnitt 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. Für instance_partition ist dies der Name der Instanzpartition. Für default_leader ist es der Name der standardmäßigen führenden Region.

LOCALITY_GROUP_OPTIONS

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

Spaltenname Typ Beschreibung
LOCALITY_GROUP_NAME STRING Der Name der Ortsgruppe.
OPTION_NAME STRING Der Name der Option für die Ortsgruppe. 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 Ortsgruppe. Für STORAGE ist dies entweder ssd oder hdd. Für SSD_TO_HDD_SPILL_TIMESPAN ist dies die Zeit, die Daten auf einer SSD gespeichert werden müssen, bevor sie auf eine HDD verschoben werden. Beispiel: 10d beträgt 10 Tage. Der Mindestzeitraum, den Sie festlegen können, beträgt eine Stunde.

TABLES

In dieser tabellenzeilengefilterten 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 Identitäten 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, zu denen die aktuelle Datenbankrolle gehört, oder public gewährt.
  • Die Berechtigungen SELECT, INSERT oder UPDATE werden für jede Tabellenspalte der aktuellen Datenbankrolle, Rollen, denen die aktuelle Datenbankrolle angehört, 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 für andere Schemas einen Wert. 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. 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, andernfalls 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 die sie verschachtelt ist, eine hierarchische Beziehung besteht. Mögliche Werte:
  • IN: Die Tabelle hat keine hierarchische Beziehung. Eine Zeile in dieser Tabelle kann unabhängig davon vorhanden sein, ob die übergeordnete Tabellenzeile vorhanden ist.
  • IN PARENT: Die Tabelle hat eine hierarchische Beziehung. Für eine Zeile in dieser Tabelle muss die übergeordnete Tabellenzeile 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 zeilengefilterten Tabelle werden die Spalten 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 Identitäten können nur Spalten sehen, die eine der folgenden Anforderungen erfüllen:

  • Die Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE werden direkt für die Spalte für die aktuelle Datenbankrolle, für Rollen, zu denen die aktuelle Datenbankrolle gehört, oder für public gewährt.
  • Die aktuelle Datenbankrolle, Rollen, denen die aktuelle Datenbankrolle angehört, oder public haben eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE für die Tabelle, die die Spalte 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 für andere Schemas einen Wert. 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. Sehen Sie sich die Spalte SPANNER_TYPE an.
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 ist, wenn die Spalte nicht in einer SELECT *-Abfrage enthalten ist, 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. Es ist kein Lesevorgang erlaubt.
  • COMMITTED: Die Spalte ist vollständig nutzbar.
IS_IDENTITY STRING Ein String, der auf YES gesetzt ist, wenn die generierte Spalte eine Identitätsspalte ist, und andernfalls auf NO.
IDENTITY_GENERATION STRING Ein String, der angibt, ob in der Spalte nur generierte und keine benutzerdefinierten, vom Nutzer eingefügten Werte zulässig sind.
  • BY DEFAULT: Der Standardwert. BY DEFAULT gibt an, dass für die Spalte generierte Werte verwendet werden, wenn keine vom Nutzer eingefügten Werte angegeben sind.
  • ALWAYS: In der Spalte sind nur generierte Werte zulässig, 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. Zum 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 Maximalwert eines übersprungenen Bereichs nach der Transformation.

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:

  • Die detaillierten Berechtigungen für die Zugriffssteuerung SELECT, INSERT oder UPDATE werden direkt für die Spalte für die aktuelle Datenbankrolle, für Rollen, zu denen die aktuelle Datenbankrolle gehört, oder für public gewährt.
  • Die aktuelle Datenbankrolle, Rollen, zu denen die aktuelle Datenbankrolle gehört, oder public haben eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE für die Tabelle, die die Spalte 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 für andere Schemas einen Wert. Diese Spalte enthält immer einen Wert.
TABLE_NAME STRING Der Name der Tabelle, die die Spalte mit den vertraulichen Daten 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 nach Zeilen gefilterten Tabelle sind alle Berechtigungen aufgeführt, die auf Tabellenebene 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 Hauptkonten können Berechtigungen nur für Tabellen sehen, für die der aktuellen Datenbankrolle, Rollen, denen die aktuelle Datenbankrolle angehört, oder public eine der Berechtigungen für die detaillierte Zugriffssteuerung 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 für andere Schemas einen Wert. Diese Spalte enthält immer einen Wert.
TABLE_NAME STRING Der Name der Tabelle, für die detaillierte Zugriffssteuerungsberechtigungen 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 für andere Schemas einen Wert. 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 für andere Schemas einen Wert. 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 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 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 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 zeilengefilterte 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 Principals können nur Spalten sehen, die die folgenden Kriterien erfüllen:

  • Die Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE werden direkt für die Spalte für die aktuelle Datenbankrolle, für Rollen, zu denen die aktuelle Datenbankrolle gehört, oder für public gewährt.
  • Die aktuelle Datenbankrolle, Rollen, denen die aktuelle Datenbankrolle angehört, oder public haben eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE für die Tabelle, 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. Eine leere Zeichenfolge, 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 Schemaname der Tabelle der eingeschränkten Spalte. Der Name ist für das Standardschema leer und enthält für andere Schemas einen Wert. 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 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 Schemaname der Tabelle der Spalte. Der Name ist für das Standardschema leer und enthält für andere Schemas einen Wert. 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 Synonyminformationen 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 für andere Schemas einen Wert. 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 Identitäten können nur Indexe sehen, die eine der folgenden Anforderungen erfüllen:

  • Die Berechtigungen für die differenzierte Zugriffssteuerung SELECT, INSERT oder UPDATE werden auf Spaltenebene für alle Spalten im Index für die aktuelle Datenbankrolle, für Rollen, denen die aktuelle Datenbankrolle angehört, oder für public gewährt.
  • Die Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT, UPDATE oder DELETE werden für die Tabelle mit dem Index für die aktuelle Datenbankrolle, für Rollen, zu denen die aktuelle Datenbankrolle gehört, oder für public gewährt.
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 für andere Schemas einen Wert. Diese Spalte enthält immer einen Wert.
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 werden 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 Identitäten können nur Indexe sehen, die eine der folgenden Anforderungen erfüllen:

  • Die Berechtigungen für die differenzierte Zugriffssteuerung SELECT, INSERT oder UPDATE werden auf Spaltenebene für alle Spalten im Index für die aktuelle Datenbankrolle, für Rollen, denen die aktuelle Datenbankrolle angehört, oder für public gewährt.
  • Die Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE werden für die Tabelle mit dem Index für die aktuelle Datenbankrolle, für Rollen, zu denen die aktuelle Datenbankrolle gehört, oder für public gewährt.
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 für andere Schemas einen Wert. 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 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 zeilengefilterten 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 Nutzer können Optionen nur für Spalten sehen, die eine der folgenden Anforderungen erfüllen:

  • Die detaillierten Berechtigungen für die Zugriffssteuerung SELECT, INSERT oder UPDATE werden direkt für die Spalte für die aktuelle Datenbankrolle, für Rollen, zu denen die aktuelle Datenbankrolle gehört, oder für public gewährt.
  • Die aktuelle Datenbankrolle, Rollen, zu denen die aktuelle Datenbankrolle gehört, oder public haben eine der Berechtigungen für die detaillierte Zugriffssteuerung SELECT, INSERT oder UPDATE für die Tabelle, 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 zeilenweise gefiltert, wenn ein Nutzer mit fein abgestimmten Zugriffsberechtigungen eine Abfrage dafür 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 zeilenweise gefiltert, wenn ein Nutzer mit fein abgestimmten Zugriffsberechtigungen eine Abfrage dafür 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 in OPTION_TYPE umwandelbar sein.

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 tabellenzeilengefilterten 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 Principals können nur Ansichten sehen, für die der aktuellen Datenbankrolle, Rollen, denen die aktuelle Datenbankrolle angehört, oder public die Berechtigung SELECT für die differenzierte Zugriffssteuerung 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 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 nach Zeilen gefilterten 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 Rollenzuweisungen sehen, die der aktuellen Datenbankrolle oder einer Rolle gewährt wurden, der die aktuelle Datenbankrolle angehört.

Da alle Datenbankrollen Mitglieder der öffentlichen Rolle sind, werden in den Ergebnissen keine Datensätze für die implizite Mitgliedschaft in der öffentlichen Rolle berücksichtigt.

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 zeilengefilterten 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 die detaillierte Zugriffssteuerungsberechtigung SELECT für die aktuelle Datenbankrolle, für Rollen, denen die aktuelle Datenbankrolle angehört, 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 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. 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 die Berechtigung SELECT der aktuellen Datenbankrolle, Rollen, denen die aktuelle Datenbankrolle angehört, oder public gewährt wurde.

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

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 zeilengefilterte Tabelle enthält Informationen zu Tabellenspalten und den Änderungsstreams, die sie beobachten. Jede Zeile beschreibt einen Änderungsstream und eine Spalte. Wenn ein Änderungsstream eine gesamte Tabelle verfolgt, werden die Spalten in 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 die Berechtigung SELECT der aktuellen Datenbankrolle, Rollen, denen die aktuelle Datenbankrolle angehört, 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 tabellarische Übersicht 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 sehen nur Optionen für Änderungsstreams, für die die Berechtigung SELECT der aktuellen Datenbankrolle, Rollen, denen die aktuelle Datenbankrolle angehört, 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 Change Stream-Option.

CHANGE_STREAM_PRIVILEGES

In dieser zeilengefilterten 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 Principals können nur Berechtigungen sehen, die für Änderungsstreams für die aktuelle Datenbankrolle, für Rollen, zu denen die aktuelle Datenbankrolle gehört, oder für 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 dieses Recht gewährt wird.

ROUTINES

In dieser zeilengefilterten Tabelle werden 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 Principals können nur Änderungsstream-Lesefunktionen sehen, für die die detaillierte Zugriffssteuerungsberechtigung EXECUTE für die aktuelle Datenbankrolle, für Rollen, zu denen die aktuelle Datenbankrolle gehört, 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. 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, der von der Routine zurückgegeben wird
ROUTINE_BODY STRING Der Typ des Routinetexts (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 Principals sehen nur Optionen für Change Stream-Lesefunktionen, für die die aktuelle Datenbankrolle, Rollen, denen die aktuelle Datenbankrolle angehört, oder public das detaillierte Zugriffssteuerungsrecht EXECUTE haben.

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. Kennzeichnet die Routine im Fall einer Namensüberlastung 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 analysiert werden können.

PARAMETERS

In dieser zeilengefilterten Tabelle werden die Argumente für jede Funktion zum Lesen von Ä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 Principals können nur Parameter für Änderungsstream-Lesefunktionen sehen, für die die aktuelle Datenbankrolle, Rollen, denen die aktuelle Datenbankrolle angehört, oder public die Berechtigung für die detaillierte Zugriffssteuerung EXECUTE haben.

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. Kennzeichnet die Routine im Fall einer Namensüberlastung 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 ohne Standardwert.

ROUTINE_PRIVILEGES

In dieser zeilengefilterten Tabelle sind alle detaillierten Berechtigungen für die Zugriffssteuerung aufgeführt, die für alle Change Stream-Lesefunktionen 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 Change Stream-Lesefunktionen für die aktuelle Datenbankrolle, für Rollen, zu denen die aktuelle Datenbankrolle gehört, oder für 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. Kennzeichnet die Routine im Fall einer Namensüberlastung 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 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 Tabellen und Ansichten für die aktuelle Datenbankrolle und für Rollen erteilt 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 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 Berechtigungen für die detaillierte Zugriffssteuerung aufgeführt, die für alle Spalten 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 Spalten der aktuellen Datenbankrolle und für Rollen erteilt 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 erbt, die die Spalte enthält.

Spaltenname Typ Beschreibung
GRANTOR STRING Nicht verwendet. Immer NULL.
GRANTEE STRING Der Name der Datenbankrolle, der dieses Recht 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 erteilt 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 eine beliebige 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 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
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 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 für Tabellen und Ansichten für die aktuelle Datenbankrolle und für Rollen erteilt 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 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 für Änderungsstreams für eine beliebige 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 Änderungsstream-Lesefunktionen 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 das Recht gewährt wird.
SPECIFIC_CATALOG STRING Der Name des Routinenkatalogs.
SPECIFIC_SCHEMA STRING Der Name des Routineschemas.
SPECIFIC_NAME STRING Der Name der Routine. Kennzeichnet die Routine im Fall einer Namensüberlastung 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 Art der Modellspalte. Eine der folgenden Optionen: "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 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 Art der Modellspalte. Eine der folgenden Optionen: "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 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 Principals können Berechtigungen nur für Modelle sehen, für die der aktuellen Datenbankrolle, Rollen, denen die aktuelle Datenbankrolle angehört, oder public die Berechtigung EXECUTE für die differenzierte 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 nach Zeilen gefilterten 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 Eigenschaftsgraphen nur sehen, wenn sie die Anforderungen für die Anzeige aller Tabellen erfüllen, die zum Definieren 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 mit GraphElementTable-Objekten für Knoten.
edgeTables array<object> Eine Liste mit 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 Grafikelementen.
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 Definition von DYNAMIC LABEL enthält.
dynamicPropertyExpr string Der Name der Spalte, die die Definition von DYNAMIC PROPERTIES enthält.
sourceNodeTable object Ein GraphNodeTableReference-Objekt. Sind nur vorhanden, wenn der kind EDGE ist.
destinationNodeTable object Ein GraphNodeTableReference-Objekt. Sind nur vorhanden, wenn der kind EDGE ist.
GraphNodeTableReference nodeTableName string Der Name der Tabelle mit den Grafikelementen.
edgeTableColumns array<string> Die Namen der Spalten, die mit den Quell- und Zielschlüsseln für die Kanten verknüpft sind.
nodeTableColumns array<string> Die Namen der Spalten, die den Quell- und Zielschlüsseln für die Knoten zugeordnet sind.
GraphElementLabel name string Der Name des Labels.
propertyDeclarationNames array<string> Die Namen der mit diesem Label verknüpften Properties.
GraphPropertyDeclaration name string Der Name der Unterkunft.
type string Der Typ der Immobilie.
GraphPropertyDefinition propertyDeclarationName string Der Name der Unterkunft.
valueExpressionSql string Der Ausdruck, der das Attribut 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

Gibt den Namen aller Tabellen in 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;

Gibt alle Sequenzoptionen für die Sequenz mit dem Namen „MySequence“ zurück.

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

Gibt die Namen aller Property-Graphen und ihre Definitionen zurück:

SELECT
  property_graph_name,
  property_graph_metadata_json
FROM
  information_schema.property_graphs

Gibt die Namen aller Attributdiagramme zusammen mit ihren Labels und Attributen zurück:

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.