Informationsschema für PostgreSQL-Datenbanken

Das Informationsschema ist ein integriertes Schema, das in jeder PostgreSQL-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 ('pg_catalog', 'information_schema', 'SPANNER_SYS')
    AND table_type = 'BASE TABLE'

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 Abfrage einer Datenbank in der Google Cloud Console.

    Andere Methoden zum Lesen einzelner Elemente unterstützen information_schema nicht.

Unterschiede zu information_schema for PostgreSQL

Die Tabellen in der information_schema für PostgreSQL-Dialekt-Datenbanken enthalten Spalten aus den Tabellen in der information_schema für Open-Source-PostgreSQL und in einigen Fällen auch Spalten aus Spanner. In diesen Tabellen stehen die Open-Source-PostgreSQL-Spalten an erster Stelle und in derselben Reihenfolge wie bei einer Open-Source-PostgreSQL-Datenbank. Alle unterschiedlichen Spalten für Spanner werden danach angehängt. Abfragen, die für die Open-Source-PostgreSQL-Version von information_schema geschrieben wurden, sollten ohne Änderungen funktionieren, wenn Sie PostgreSQL-Dialekt-Datenbanken in der Google Cloud CLI verwenden.

Weitere wichtige Unterschiede bei information_schema for PostgreSQL-Dialekt-Datenbanken sind:

  • Einige der Tabellenspalten für Open-Source-PostgreSQL sind verfügbar, werden aber in Datenbanken im PostgreSQL-Dialekt nicht ausgefüllt.
  • Datenbanken im PostgreSQL-Dialekt verwenden public als Standardschemanamen.
  • Automatisch generierte Einschränkungsnamen verwenden ein anderes Format als Open-Source-PostgreSQL-Datenbanken.
  • Tabellen, die sich auf Open-Source-PostgreSQL-Features beziehen, die in Datenbanken im PostgreSQL-Dialekt nicht unterstützt werden, sind nicht verfügbar.
  • Einige Tabellen, die mit Spanner, aber nicht mit Open-Source-PostgreSQL verfügbar sind, z. B. database_options, index_columns, indexes und spanner_statistics, sind verfügbar.

Zeilenfilterung in information_schema-Tabellen und -Ansichten

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 und -Ansichten sehen. Für andere Hauptkonten filtert Spanner Zeilen basierend auf der aktuellen Datenbankrolle. In den Tabellen- und Ansichtsbeschreibungen in den folgenden Abschnitten wird angegeben, wie Spanner Zeilen für jede Tabelle und Ansicht filtert.

Tabellen in information_schema für Datenbanken im PostgreSQL-Dialekt

Die Tabellen und Ansichten in information_schema sind mit den Tabellen und Ansichten in information_schema von Open-Source-PostgreSQL kompatibel.

In den folgenden Abschnitten werden die Tabellen und Ansichten in information_schema für Datenbanken im PostgreSQL-Dialekt beschrieben.

applicable_roles

In dieser zeilengefilterten Ansicht werden alle Rollenmitgliedschaften aufgeführt, die allen Datenbankrollen explizit gewährt werden. 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
grantee character varying Der Name der Datenbankrolle, der die Mitgliedschaft gewährt wird.
role_name character varying Der Name der übergeordneten Datenbankrolle, in der diese Mitgliedschaft gewährt wird.
is_grantable character varying Nicht verwendet. Immer NO.

change_stream_columns

Diese zeilengefilterte Ansicht 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, zu denen die aktuelle Datenbankrolle gehört, oder public die Berechtigung SELECT gewährt wurde.

Spaltenname Typ Beschreibung
change_stream_catalog character varying Der Datenbankname.
change_stream_schema character varying Der Name des Schemas des Änderungsstreams. Bei PostgreSQL-Dialekt-Datenbanken ist der Standardwert public.
change_stream_name character varying Der Name des Änderungsstreams.
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas der Tabelle. Bei PostgreSQL-Dialekt-Datenbanken ist der Standardwert public.
table_name character varying Der Name der Tabelle, auf die sich diese Zeile bezieht.
column_name character varying Der Name der Spalte, auf die sich diese Zeile bezieht.

change_stream_options

Diese zeilengefilterte Ansicht 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 der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public die Berechtigung SELECT gewährt wurde.

Spaltenname Typ Beschreibung
change_stream_catalog character varying Der Datenbankname.
change_stream_schema character varying Der Name des Schemas des Änderungsstreams. Bei PostgreSQL-Dialekt-Datenbanken ist der Standardwert public.
change_stream_name character varying Der Name des Änderungsstreams.
option_name character varying Der Name der Änderungsstream-Option.
option_type character varying Der Datentyp der Änderungsstream-Option.
option_value character varying Der Wert der Änderungsstream-Option.

change_stream_privileges

In dieser zeilengefilterten Ansicht werden alle detaillierten Zugriffssteuerungsberechtigungen 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 der aktuellen Datenbankrolle, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public gewährt wurden.

Spaltenname Typ Beschreibung
grantor character varying Nicht verwendet. Immer NULL.
grantee character varying Der Name der Datenbankrolle, der diese Berechtigung gewährt wird.
change_stream_catalog character varying Der Datenbankname.
change_stream_schema character varying Der Name des Schemas, das den Änderungsstream enthält. Der Standardwert für Datenbanken im PostgreSQL-Dialekt ist public.
change_stream_name character varying Der Name des Änderungsstreams.
privilege_type character varying Der Typ der Berechtigung (nur SELECT).
is_grantable character varying Nicht verwendet. Immer NO.

change_stream_tables

Diese zeilengefilterte Ansicht 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 character varying Der Datenbankname.
change_stream_schema character varying Der Name des Schemas des Änderungsstreams. Bei PostgreSQL-Dialekt-Datenbanken ist der Standardwert public.
change_stream_name character varying Der Name des Änderungsstreams, auf den sich diese Zeile bezieht.
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas der Tabelle. Bei PostgreSQL-Dialekt-Datenbanken ist der Standardwert public.
table_name character varying Der Name der Tabelle, auf die sich diese Zeile bezieht.
all_columns character varying YES, wenn der Änderungsstream dieser Zeile die gesamte Tabelle verfolgt, auf die sich diese Zeile bezieht. Andernfalls NO. Gemäß dem SQL-Standard ist der String entweder YES oder NO und kein boolescher Wert.

change_streams

In dieser zeilengefilterten Ansicht werden 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 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 character varying Der Datenbankname.
change_stream_schema character varying Der Name des Schemas dieses Änderungsstreams. Bei PostgreSQL-Dialekt-Datenbanken ist der Standardwert public.
change_stream_name character varying Der Name des Änderungsstreams.
all character varying YES, wenn dieser Änderungsstream die gesamte Datenbank verfolgt. NO, wenn dieser Änderungsstream bestimmte Tabellen oder Spalten verfolgt. Gemäß dem SQL-Standard ist der String entweder YES oder NO und kein boolescher Wert.

check_constraints

Die Ansicht check_constraints enthält eine Zeile für jede Prüfeinschränkung, die entweder durch das Schlüsselwort CHECK oder NOT NULL definiert ist.

Spaltenname Typ Beschreibung
constraint_catalog character varying Der Datenbankname.
constraint_schema character varying Der Name des Schemas der Einschränkung. Der Standardwert für Datenbanken im PostgreSQL-Dialekt ist public.
constraint_name character varying Der Name der Einschränkung. Wenn der Name der Einschränkung nicht explizit im Schema angegeben ist, wird der automatisch generierte Name verwendet.
check_clause character varying Der Ausdruck der Prüfeinschränkung.
spanner_state character varying Der aktuelle Status der Prüfbedingung. Folgende Status sind möglich:
  • VALIDATING: Die PostgreSQL-Dialekt-Datenbank validiert die vorhandenen Daten für einen ALTER CONSTRAINT- oder ADD CONSTRAINT-Befehl.
  • COMMITTED: Für diese Einschränkung gibt es keine aktive Schemaänderung.

column_column_usage

In dieser Ansicht werden alle generierten Spalten aufgeführt, die von einer anderen Basisspalte in derselben Tabelle abhängen.

Spaltenname Typ Beschreibung
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas, das die Tabelle enthält. Der Name lautet public für das Standardschema und ist für andere Schemas nicht leer (z. B. für information_schema selbst). Diese Spalte ist nie Null.
table_name character varying Der Name der Tabelle, die die generierten Spalten enthält.
column_name character varying Der Name der Basisspalte, von der die generierte Spalte abhängt.
dependent_column character varying Der Name der generierten Spalte.

column_options

In dieser Ansicht werden alle Optionen aufgeführt, die für die referenzierten Tabellenspalten einer Fremdschlüsseleinschränkung definiert sind. Die Ansicht enthält nur die Spalten in der Referenztabelle, auf die der aktuelle Nutzer Zugriff hat (weil er der Inhaber ist oder ihm Berechtigungen gewährt wurden).

Spaltenname Typ Beschreibung
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas, das die Fremdtabelle enthält. Der Name lautet public für das Standardschema und ist für andere Schemas nicht leer (z. B. für information_schema selbst). Diese Spalte ist nie null.
table_name character varying Der Name der Fremdtabelle.
column_name character varying Der Name der Spalte.
option_name character varying Eine SQL-Kennung, die die Option eindeutig identifiziert. Diese Kennung ist der Schlüssel der OPTIONS-Klausel in DDL.
option_value character varying Ein SQL-Literal, das den Wert dieser Option beschreibt. Der Wert dieser Spalte kann als Teil einer Abfrage geparst werden.
option_type character varying Ein Datentypname, der der Typ dieses Optionswerts ist.

column_privileges

In dieser zeilengefilterten Ansicht werden 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, für Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder für public gewährt wurden.

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 character varying Nicht verwendet. Immer NULL.
grantee character varying Der Name der Datenbankrolle, der diese Berechtigung gewährt wird.
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas, das die Tabelle oder Ansicht enthält. Der Standardwert für Datenbanken im PostgreSQL-Dialekt ist public.
table_name character varying Der Name der Tabelle oder Ansicht, die die Spalte enthält.
column_name character varying Der Name der Spalte.
privilege_type character varying Der Typ der Berechtigung (SELECT, INSERT oder UPDATE).
is_grantable character varying Nicht verwendet. Immer NO.

columns

Diese zeilengefilterte Ansicht enthält Informationen zu allen Tabellenspalten und Ansichtsspalten in der Datenbank. 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, für die ihnen (oder die Berechtigungen SELECT, INSERT oder UPDATE für die enthaltenen Tabellen) Berechtigungen für die detaillierte Zugriffssteuerung gewährt wurden, oder Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public.

Spaltenname Typ Beschreibung
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas, das die Tabelle enthält. Der Name lautet public für das Standardschema und ist für andere Schemas nicht leer (z. B. für information_schema selbst). Diese Spalte ist nie null.
table_name character varying Der Name der Tabelle
column_name character varying Der Name der Spalte
ordinal_position BIGINT Die ordinale Position der Spalte in der Tabelle, beginnend mit dem Wert 1
column_default character varying Eine Stringdarstellung des Open-Source-PostgreSQL-Ausdrucks des Standardwerts der Spalte, z. B. '9'::bigint.
is_nullable character varying 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.
data_type character varying Der Datentyp der Spalte. Der Wert ist einer der folgenden:
  • Bei integrierten Typen der Name des Datentyps.
  • Für Arrays der Wert ARRAY.
character_maximum_length BIGINT Die deklarierte maximale Länge für Zeichen- und Bitstring-Datentypen. Wenn keine maximale Länge angegeben wurde, ist der Wert NULL. Wenn der Datentyp der Spalte kein Zeichen- oder Bitstring ist, ist der Wert NULL.
character_octet_length BIGINT Nicht verwendet. Der Wert ist immer NULL.
numeric_precision BIGINT Die Genauigkeit des numerischen Datentyps der aktuellen Spalte. Für double precision ist der Wert 53. Für bigint ist der Wert 64. Bei allen anderen Datentypen ist der Wert NULL.
numeric_precision_radix BIGINT Die Basis (Einheit) der Genauigkeit für numerische Typen. Es werden nur zwei Werte unterstützt:
  • 2 für double precision float8 und bigint
  • 10 für numeric
Bei allen anderen Datentypen lautet der Wert NULL.
numeric_scale BIGINT Enthält die Skalierung des numerischen Spaltentyps, d. h. die Anzahl der Genauigkeitsbasiseinheiten nach dem Dezimalpunkt. Für bigint ist der Wert 0. Bei allen anderen Datentypen ist der Wert NULL.
datetime_precision BIGINT Nicht verwendet. Der Wert ist immer NULL.
interval_type character varying Nicht verwendet. Der Wert ist immer NULL.
interval_precision BIGINT Nicht verwendet. Der Wert ist immer NULL.
character_set_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
character_set_schema character varying Nicht verwendet. Der Wert ist immer NULL.
character_set_name character varying Nicht verwendet. Der Wert ist immer NULL.
collation_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
collation_schema character varying Nicht verwendet. Der Wert ist immer NULL.
collation_name character varying Nicht verwendet. Der Wert ist immer NULL.
domain_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
domain_schema character varying Nicht verwendet. Der Wert ist immer NULL.
domain_name character varying Nicht verwendet. Der Wert ist immer NULL.
udt_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
udt_schema character varying Nicht verwendet. Der Wert ist immer NULL.
udt_name character varying Nicht verwendet. Der Wert ist immer NULL.
scope_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
scope_schema character varying Nicht verwendet. Der Wert ist immer NULL.
scope_name character varying Nicht verwendet. Der Wert ist immer NULL.
maximum_cardinality BIGINT Nicht verwendet. Der Wert ist immer NULL.
dtd_identifier character varying Nicht verwendet. Der Wert ist immer NULL.
is_self_referencing character varying Nicht verwendet. Der Wert ist immer NULL.
is_identity character varying Nicht verwendet. Der Wert ist immer NULL.
identity_generation character varying Nicht verwendet. Der Wert ist immer NULL.
identity_start character varying Nicht verwendet. Der Wert ist immer NULL.
identity_increment character varying Nicht verwendet. Der Wert ist immer NULL.
identity_maximum character varying Nicht verwendet. Der Wert ist immer NULL.
identity_minimum character varying Nicht verwendet. Der Wert ist immer NULL.
identity_cycle character varying Nicht verwendet. Der Wert ist immer NULL.
is_generated character varying 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 character varying Ein String, der den SQL-Ausdruck einer generierten Spalte darstellt, oder NULL, wenn die Spalte keine generierte Spalte ist.
is_updatable character varying Nicht verwendet. Der Wert ist immer NULL.
spanner_type character varying Ein String, der den DDL-kompatiblen Typ der Spalte enthält.
is_stored character varying Ein String, der angibt, ob die generierte Spalte gespeichert wird. Der String ist für generierte Spalten immer YES oder NO und für nicht generierte Spalten NULL.
spanner_state character varying 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:
  • NO_WRITE: Es ist kein Lese- oder Schreibzugriff auf die Spalten zulässig. Eine gespeicherte generierte Spalte in diesem Status hat keine Auswirkungen auf den Client.
  • WRITE_ONLY: Backfill für diese Spalte wird durchgeführt. Lesen ist nicht zulässig.
  • COMMITTED: Die Spalte ist vollständig nutzbar.
  • NULL: Wird für Spalten in Systemschemas verwendet.
on_update_expression character varying Eine Stringdarstellung des `ON UPDATE`-Ausdrucks für eine Spalte. Wenn die Spalte keinen „ON UPDATE“-Ausdruck hat, ist der Wert „NULL“.

constraint_column_usage

Diese Ansicht enthält eine Zeile über jede Spalte, die von einer Einschränkung verwendet wird.

  • Für PRIMARY KEY- und CHECK-Einschränkungen, die durch das Keyword NOT NULL definiert sind, enthält die Ansicht diese Spalten.
  • Bei CHECK-Einschränkungen, die mit dem Schlüsselwort CHECK erstellt wurden, enthält die Ansicht die Spalten, die vom Ausdruck der Prüfeinschränkung verwendet werden.
  • Bei Fremdschlüsseleinschränkungen enthält die Ansicht die Spalten der referenzierten Tabelle.
  • Für UNIQUE-Einschränkungen enthält die Ansicht die Spalten aus KEY_COLUMN_USAGE.

Spaltenname Typ Beschreibung
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas, das die Tabelle mit der Spalte enthält, die von der Einschränkung verwendet wird.
table_name character varying Der Name der Tabelle, die die Spalte enthält, die von der Einschränkung verwendet wird.
column_name character varying Der Name der Spalte, die von der Einschränkung verwendet wird.
constraint_catalog character varying Der Datenbankname.
constraint_schema character varying Der Name des Schemas der Einschränkung.
constraint_name character varying Der Name der Einschränkung.

constraint_table_usage

Diese Ansicht enthält eine Zeile für jede Tabelle, die von einer Einschränkung verwendet wird. Bei FOREIGN KEY-Einschränkungen beziehen sich die Tabelleninformationen auf die Tabellen in der REFERENCES-Klausel. Bei einer Einschränkung für eindeutige Schlüssel oder Primärschlüssel wird in dieser Ansicht die Tabelle angegeben, zu der die Einschränkung gehört. Prüfbeschränkungen und Nicht-Null-Einschränkungen sind in dieser Ansicht nicht enthalten.

Spaltenname Typ Beschreibung
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas der eingeschränkten Tabelle.
table_name character varying Der Name der Tabelle, die von einer Einschränkung verwendet wird.
constraint_catalog character varying Der Datenbankname.
constraint_schema character varying Der Name des Schemas, das die Einschränkung enthält.
constraint_name character varying Der Name der Einschränkung.

database_options

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

Spaltenname Typ Beschreibung
catalog_name character varying Der Datenbankname.
schema_name character varying Der Name des Schemas. Der Standardwert für Datenbanken mit PostgreSQL-Dialekt ist public.
option_name character varying Der Name der Datenbankoption. Dies ist der Wert von key in der OPTIONS-Klausel in DDL.
option_type character varying Der Datentyp der Datenbankoption.
option_value character varying Der Wert der Datenbankoption.

enabled_roles

In dieser zeilengefilterten Ansicht werden die definierten Datenbankrollen 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 Datenbankrollen sehen. Alle anderen Hauptkonten können nur Datenbankrollen sehen, auf die ihnen entweder direkt oder durch Übernahme Zugriff gewährt wurde. Alle Systemrollen außer public werden ebenfalls in dieser Ansicht angezeigt.

Spaltenname Typ Beschreibung
role_name character varying Der Name der Rolle.
spanner_is_system character varying YES, wenn die Rolle eine Systemrolle ist. Andernfalls NO.

index_columns

In dieser Ansicht werden die Spalten in einem Index aufgelistet.

Spaltenname Typ Beschreibung
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas, das den Index enthält. Der Standardwert ist public.
table_name character varying Der Name der Tabelle, die mit dem Index verknüpft ist.
index_name character varying Der Name des Index. Für Tabellen mit einer PRIMARY KEY-Spezifikation wird ein Pseudoindexeintrag mit dem Namen PRIMARY_KEY generiert.
index_type character varying Der Typ des Index. Mögliche Werte sind PRIMARY_KEY, LOCAL oder GLOBAL.
column_name character varying Der Name der Spalte.
ordinal_position BIGINT 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 INCLUDE-Klausel eines Index angegeben sind).
column_ordering character varying Die Sortierreihenfolge 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 character varying 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 character varying Ein String, der den DDL-kompatiblen Typ der Spalte enthält.

indexes

In dieser Ansicht werden die Indexe in einem Schema aufgelistet.

Spaltenname Typ Beschreibung
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas. Der Standardwert ist public.
table_name character varying Der Name der Tabelle.
index_name character varying Der Name des Index. Für Tabellen, die mit einer PRIMARY KEY-Klausel erstellt wurden, wird ein Pseudofeldindexeintrag mit dem Namen PRIMARY_KEY generiert, über den die Felder des Primärschlüssels identifiziert werden können.
index_type character varying Der Typ des Index. Die Werte sind PRIMARY_KEY, LOCAL oder GLOBAL.
parent_table_name character varying 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 character varying Gibt an, ob die Indexschlüssel einmalig sein müssen. Gemäß dem SQL-Standard ist der String entweder YES oder NO und kein boolescher Wert.
is_null_filtered character varying Gibt an, ob der Index Einträge mit NULL-Werten enthält. Gemäß dem SQL-Standard ist der String entweder YES oder NO und kein boolescher Wert.
index_state character varying Der aktuelle Status des Index. Mögliche Werte und die von ihnen dargestellten Status sind:
  • NULL: Der Indextyp ist PRIMARY_KEY.
  • PREPARE: Leere Tabellen für einen neuen Index erstellen
  • WRITE_ONLY: Daten für einen neuen Index werden nachgefüllt
  • 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 character varying Gibt an, ob der Index von Spanner verwaltet wird. Sekundäre Sicherungsindexe für Fremdschlüssel werden beispielsweise von Spanner verwaltet. Der String ist gemäß dem SQL-Standard entweder YES oder NO und kein boolescher Wert.

information_schema_catalog_name

Diese Tabelle enthält eine Zeile und eine Spalte mit dem Datenbanknamen.

Spaltenname Typ Beschreibung
catalog_name character varying Der Datenbankname.

key_column_usage

In dieser Ansicht werden alle Spalten in der aktuellen Datenbank identifiziert, auf die durch eine Einschränkung für eindeutige Schlüssel, Primärschlüssel oder Fremdschlüssel verwiesen wird. Informationen zu CHECK-Einschränkungsspalten finden Sie in der Ansicht check_constraints.

Spaltenname Typ Beschreibung
constraint_catalog character varying Der Datenbankname.
constraint_schema character varying Der Name des Schemas der Einschränkung. Der Standardwert ist public.
constraint_name character varying Der Name der Einschränkung.
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas, das die Tabelle mit der eingeschränkten Spalte enthält. Der Standardwert ist public.
table_name character varying Der Name der Tabelle, die die Spalte enthält, die durch diese Einschränkung eingeschränkt wird.
column_name character varying Der Name der Spalte, die eingeschränkt ist.
ordinal_position BIGINT Die ordinale Position der Spalte innerhalb des Schlüssels der Einschränkung, beginnend mit dem Wert 1.
position_in_unique_constraint BIGINT Bei FOREIGN KEYs die ordinale Position der Spalte innerhalb der eindeutigen Einschränkung, beginnend mit dem Wert 1. Diese Spalte hat für andere Einschränkungstypen den Wert NULL.

parameters

In dieser zeilengefilterten Ansicht werden die Argumente für jede benutzerdefinierte und Änderungsstream-Lesefunktion definiert. Jede Zeile beschreibt ein Argument für eine benutzerdefinierte oder Änderungsstream-Lesefunktion.

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 benutzerdefinierte und Änderungsstream-Lesefunktionen sehen, für die der aktuellen Datenbankrolle, Rollen, zu denen die aktuelle Datenbankrolle gehört, oder public die Berechtigung für die detaillierte Zugriffssteuerung EXECUTE gewährt wurde.

Spaltenname Typ Beschreibung
specific_catalog character varying Der Datenbankname.
specific_schema character varying Der Name des Schemas der Routine. Bei Datenbanken mit PostgreSQL-Dialekt ist der Standardwert public.
specific_name character varying Der Name der Routine. Identifiziert die Routine eindeutig, auch wenn ihr Name überladen ist.
ordinal_position bigint Die ordinale Position des Parameters in der Argumentliste der Routine, beginnend mit dem Wert 1.
parameter_mode character varying Nicht verwendet. Immer NULL.
is_result character varying Nicht verwendet. Immer NULL.
as_locator character varying Nicht verwendet. Immer NULL.
parameter_name character varying Name des Parameters.
data_type character varying Der Datentyp des Parameters. Der Wert ist einer der folgenden:
  • Bei integrierten Typen der Name des Datentyps.
  • Für Arrays der Wert ARRAY.
character_maximum_length bigint Nicht verwendet. Immer NULL.
character_octet_length bigint Nicht verwendet. Der Wert ist immer NULL.
character_set_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
character_set_schema character varying Nicht verwendet. Der Wert ist immer NULL.
character_set_name character varying Nicht verwendet. Der Wert ist immer NULL.
collation_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
collation_schema character varying Nicht verwendet. Der Wert ist immer NULL.
collation_name character varying Nicht verwendet. Der Wert ist immer NULL.
numeric_precision bigint Nicht verwendet. Der Wert ist immer NULL.
numeric_precision_radix bigint Nicht verwendet. Der Wert ist immer NULL.
numeric_scale bigint Nicht verwendet. Der Wert ist immer NULL.
datetime_precision bigint Nicht verwendet. Der Wert ist immer NULL.
interval_type character varying Nicht verwendet. Der Wert ist immer NULL.
interval_precision bigint Nicht verwendet. Der Wert ist immer NULL.
udt_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
udt_schema character varying Nicht verwendet. Der Wert ist immer NULL.
udt_name character varying Nicht verwendet. Der Wert ist immer NULL.
scope_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
scope_schema character varying Nicht verwendet. Der Wert ist immer NULL.
scope_name character varying Nicht verwendet. Der Wert ist immer NULL.
maximum_cardinality bigint Nicht verwendet. Der Wert ist immer NULL.
dtd_identifier character varying Nicht verwendet. Der Wert ist immer NULL.
parameter_default character varying Nicht verwendet. Der Wert ist immer NULL.
spanner_type character varying Der detaillierte Rückgabetyp der Routine. Enthält den Untertyp, wenn ein ARRAY zurückgegeben wird.

placements

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

Spaltenname Typ Beschreibung
placement_name character varying Der Name des Placements.
is_default character varying 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.

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.

Spaltenname Typ Beschreibung
placement_name character varying Der Name des Placements.
option_name character varying Der Name der Placement-Option. Gültige Werte für option_name sind:
  • instance_partition
  • default_leader
option_type character varying Der Datentyp der Platzierungsoption.
option_value character varying Der Wert der Platzierungsoption. Bei 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 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 character varying Der Name der Standortgruppe.
option_name character varying 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 character varying 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.

referential_constraints

Diese Ansicht enthält eine Zeile zu jeder FOREIGN KEY-Einschränkung. Sie können nur die Einschränkungen sehen, für die Sie Schreibzugriff auf die verweisende Tabelle haben. In dieser Ansicht werden auch die Einschränkungen PRIMARY KEY und UNIQUE für die referenzierten Tabellen identifiziert, die von den Fremdschlüsseln für die Durchsetzung von Einschränkungen und referenzielle Aktionen verwendet werden.

Spaltenname Typ Beschreibung
constraint_catalog character varying Der Datenbankname.
constraint_schema character varying Der Name des Schemas, das die Fremdschlüsseleinschränkung enthält. Der Standardwert ist public.
constraint_name character varying Der Name der Fremdschlüsseleinschränkung.
unique_constraint_catalog character varying Der Datenbankname.
unique_constraint_schema character varying Der Name des Schemas, das die eindeutige oder Primärschlüsselbeschränkung enthält, auf die sich die Fremdschlüsselbeschränkung bezieht.
unique_constraint_name character varying Der Name der eindeutigen oder Primärschlüsseleinschränkung, auf die sich die Fremdschlüsseleinschränkung bezieht.
match_option character varying Die von der Fremdschlüsselbeschränkung verwendete Abgleichsmethode. Der Wert ist immer NONE.
update_rule character varying Die Aktualisierungsregel der Fremdschlüsseleinschränkung. Dieser Wert ist immer NO ACTION.
delete_rule character varying Die Löschregel der Fremdschlüsselbeschränkung. Dieser Wert ist entweder CASCADE, SET NULL oder NO ACTION.
spanner_state character varying Der aktuelle Status des Fremdschlüssels. Spanner beginnt erst mit der Durchsetzung der Einschränkung, wenn die Sicherungsindexe des Fremdschlüssels erstellt und Backfills durchgeführt wurden. Sobald die Indexe bereit sind, beginnt Spanner damit, die Einschränkung für neue Transaktionen zu erzwingen, während die vorhandenen Daten validiert werden. Die möglichen Werte und die von ihnen dargestellten Status sind:
  • BACKFILLING_INDEXES: Indexe werden nachgefüllt.
  • 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 übernommen.

role_change_stream_grants

In dieser zeilengefilterten Ansicht werden 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
grantor character varying Nicht verwendet. Immer NULL.
grantee character varying Der Name der Datenbankrolle, der diese Berechtigung gewährt wird.
change_stream_catalog character varying Der Datenbankname.
change_stream_schema character varying Der Name des Schemas, das den Änderungsstream enthält. Der Standardwert für Datenbanken im PostgreSQL-Dialekt ist public.
change_stream_name character varying Der Name des Änderungsstreams.
privilege_type character varying Der Typ der Berechtigung (nur SELECT).
is_grantable character varying Nicht verwendet. Immer NO.

role_column_grants

In dieser zeilengefilterten Ansicht werden 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 character varying Nicht verwendet. Immer NULL.
grantee character varying Der Name der Datenbankrolle, der diese Berechtigung gewährt wird.
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas, das die Tabelle oder Ansicht enthält. Der Standardwert für Datenbanken im PostgreSQL-Dialekt ist public.
table_name character varying Der Name der Tabelle oder Ansicht, die die Spalte enthält.
column_name character varying Der Name der Spalte.
privilege_type character varying Der Typ der Berechtigung (SELECT, INSERT oder UPDATE).
is_grantable character varying Nicht verwendet. Immer NO.

role_routine_grants

In dieser zeilengefilterten Ansicht werden 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 character varying Nicht verwendet. Immer NULL.
grantee character varying Der Name der Rolle, der die Berechtigung gewährt wurde.
specific_catalog character varying Der Datenbankname.
specific_schema character varying Der Name des Schemas der Routine. Bei Datenbanken mit PostgreSQL-Dialekt ist der Standardwert public.
specific_name character varying Der Name der Routine. Identifiziert die Routine eindeutig, auch wenn ihr Name überladen ist.
routine_catalog character varying Der Datenbankname.
routine_schema character varying Der Name des Schemas der Routine. Der Standardwert für Datenbanken im PostgreSQL-Dialekt ist public.
routine_name character varying Der Name der Routine. (Kann bei Überlastung dupliziert werden.)
privilege_type character varying Der Typ der gewährten Berechtigung. Immer EXECUTE.
is_grantable character varying Nicht verwendet. Immer NO.

role_table_grants

In dieser zeilengefilterten Ansicht werden alle detaillierten Zugriffssteuerungsberechtigungen 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 character varying Nicht verwendet. Immer NULL.
grantee character varying Der Name der Datenbankrolle, der diese Berechtigung gewährt wird.
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas, das die Tabelle oder Ansicht enthält. Der Standardwert für Datenbanken im PostgreSQL-Dialekt ist public.
table_name character varying Der Name der Tabelle oder Ansicht.
privilege_type character varying Der Typ der Berechtigung (SELECT, INSERT, UPDATE oder DELETE).
is_grantable character varying Nicht verwendet. Immer NO.
with_hierarchy character varying Nicht verwendet. Immer NULL.

routine_options

Diese zeilengefilterte Ansicht 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 character varying Der Datenbankname.
specific_schema character varying Der Name des Schemas der Routine. Der Standardwert für Datenbanken im PostgreSQL-Dialekt ist public.
specific_name character varying Der Name der Routine. Identifiziert die Routine eindeutig, auch wenn ihr Name überladen ist.
option_name character varying Der Name der Option.
option_type character varying Der Datentyp der Option. Der Wert ist einer der folgenden:
  • Bei integrierten Typen der Name des Datentyps.
  • Für Arrays der Wert ARRAY.
option_value character varying Der Wert der Option.

routine_privileges

In dieser zeilengefilterten Ansicht werden alle detaillierten Zugriffssteuerungsberechtigungen aufgeführt, die für alle Lesefunktionen von Ä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 Lesefunktionen von Änderungsstreams der aktuellen Datenbankrolle, Rollen, zu denen die aktuelle Datenbankrolle gehört, oder public gewährt wurden.

Spaltenname Typ Beschreibung
grantor character varying Nicht verwendet. Immer NULL.
grantee character varying Der Name der Rolle, der die Berechtigung gewährt wurde.
specific_catalog character varying Der Datenbankname.
specific_schema character varying Der Name des Schemas der Routine. Bei Datenbanken mit PostgreSQL-Dialekt ist der Standardwert public.
specific_name character varying Der Name der Routine. Identifiziert die Routine eindeutig, auch wenn ihr Name überladen ist.
routine_catalog character varying Der Datenbankname.
routine_schema character varying Der Name des Schemas der Routine. Der Standardwert ist public.
routine_name character varying Der Name der Routine. (Kann bei Überlastung dupliziert werden.)
privilege_type character varying Der Typ der gewährten Berechtigung.
is_grantable character varying Nicht verwendet. Immer NO.

routines

In dieser zeilengefilterten Ansicht werden alle benutzerdefinierten und Änderungsstream-Lesefunktionen 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 benutzerdefinierte Funktionen und 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 character varying Der Datenbankname.
specific_schema character varying Der Name des Schemas der Routine. Der Standardwert für Datenbanken im PostgreSQL-Dialekt ist public.
specific_name character varying Der Name der Routine. Identifiziert die Routine eindeutig, auch wenn ihr Name überladen ist.
routine_catalog character varying Der Datenbankname.
routine_schema character varying Der Name des Schemas der Routine.
routine_name character varying Der Name der Routine. (Kann bei Überlastung dupliziert werden.)
routine_type character varying Der Typ der Routine (FUNCTION oder PROCEDURE). Immer FUNCTION
module_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
module_schema character varying Nicht verwendet. Der Wert ist immer NULL.
module_name character varying Nicht verwendet. Der Wert ist immer NULL.
udt_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
udt_schema character varying Nicht verwendet. Der Wert ist immer NULL.
udt_name character varying Nicht verwendet. Der Wert ist immer NULL.
data_type character varying Der Rückgabetyp der Routine. Der Wert ist einer der folgenden:
  • Bei integrierten Typen der Name des Datentyps.
  • Für Arrays der Wert ARRAY.
character_maximum_length bigint Nicht verwendet. Der Wert ist immer NULL.
character_octet_length bigint Nicht verwendet. Der Wert ist immer NULL.
character_set_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
character_set_schema character varying Nicht verwendet. Der Wert ist immer NULL.
character_set_name character varying Nicht verwendet. Der Wert ist immer NULL.
collation_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
collation_schema character varying Nicht verwendet. Der Wert ist immer NULL.
collation_name character varying Nicht verwendet. Der Wert ist immer NULL.
numeric_precision bigint Nicht verwendet. Der Wert ist immer NULL.
numeric_precision_radix bigint Nicht verwendet. Der Wert ist immer NULL.
numeric_scale bigint Nicht verwendet. Der Wert ist immer NULL.
datetime_precision bigint Nicht verwendet. Der Wert ist immer NULL.
interval_type character varying Nicht verwendet. Der Wert ist immer NULL.
interval_precision bigint Nicht verwendet. Der Wert ist immer NULL.
type_udt_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
type_udt_schema character varying Nicht verwendet. Der Wert ist immer NULL.
type_udt_name character varying Nicht verwendet. Der Wert ist immer NULL.
scope_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
scope_schema character varying Nicht verwendet. Der Wert ist immer NULL.
scope_name character varying Nicht verwendet. Der Wert ist immer NULL.
maximum_cardinality bigint Nicht verwendet. Der Wert ist immer NULL.
dtd_identifier character varying Nicht verwendet. Der Wert ist immer NULL.
routine_body character varying Der Typ des Routinentexts (SQL oder EXTERNAL).
routine_definition character varying Die Definition für das routine_body-SQL, andernfalls leer.
external_name character varying Nicht verwendet. Der Wert ist immer NULL.
external_language character varying Nicht verwendet. Der Wert ist immer NULL.
parameter_style character varying Nicht verwendet. Der Wert ist immer NULL.
is_deterministic character varying Nicht verwendet. Der Wert ist immer NULL.
sql_data_access character varying Nicht verwendet. Der Wert ist immer NULL.
is_null_call character varying Nicht verwendet. Der Wert ist immer NULL.
sql_path character varying Nicht verwendet. Der Wert ist immer NULL.
schema_level_routine character varying Nicht verwendet. Der Wert ist immer NULL.
max_dynamic_result_sets character varying Nicht verwendet. Der Wert ist immer NULL.
is_user_defined_cast character varying Nicht verwendet. Der Wert ist immer NULL.
is_implicitly_invocable character varying Nicht verwendet. Der Wert ist immer NULL.
security_type character varying Der Sicherheitstyp der Routine. Es wird nur INVOKER unterstützt.
to_sql_specific_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
to_sql_specific_schema character varying Nicht verwendet. Der Wert ist immer NULL.
to_sql_specific_name character varying Nicht verwendet. Der Wert ist immer NULL.
as_locator character varying Nicht verwendet. Der Wert ist immer NULL.
created timestamp with time zone Nicht verwendet. Der Wert ist immer NULL.
last_altered timestamp with time zone Nicht verwendet. Der Wert ist immer NULL.
new_savepoint_level character varying Nicht verwendet. Der Wert ist immer NULL.
is_udt_dependent character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_from_data_type character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_as_locator character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_char_max_length bigint Nicht verwendet. Der Wert ist immer NULL.
result_cast_char_octet_length bigint Nicht verwendet. Der Wert ist immer NULL.
result_cast_char_set_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_char_set_schema character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_char_set_name character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_collation_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_collation_schema character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_collation_name character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_numeric_precision bigint Nicht verwendet. Der Wert ist immer NULL.
result_cast_numeric_precision_radix bigint Nicht verwendet. Der Wert ist immer NULL.
result_cast_numeric_scale bigint Nicht verwendet. Der Wert ist immer NULL.
result_cast_datetime_precision bigint Nicht verwendet. Der Wert ist immer NULL.
result_cast_interval_type character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_interval_precision bigint Nicht verwendet. Der Wert ist immer NULL.
result_cast_type_udt_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_type_udt_schema character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_type_udt_name character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_scope_catalog character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_scope_schema character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_scope_name character varying Nicht verwendet. Der Wert ist immer NULL.
result_cast_maximum_cardinality bigint Nicht verwendet. Der Wert ist immer NULL.
result_cast_dtd_identifier character varying Nicht verwendet. Der Wert ist immer NULL.
spanner_type character varying Der detaillierte Rückgabetyp der Routine. Enthält den Untertyp, wenn ein ARRAY zurückgegeben wird.
spanner_determinism character varying Der vom Nutzer angegebene Determinismus der Funktion (DETERMINISTIC, NOT_DETERMINISTIC_STABLE oder NOT_DETERMINISTIC_VOLATILE). Weitere Informationen finden Sie in der Beschreibung für [provolatile](https://www.postgresql.org/docs/current/catalog-pg-proc.html#:~:text=provolatile).

schemata

Die Ansicht information_schema.schemata enthält eine Zeile für jedes Schema in der aktuellen Datenbank. Die Schemas umfassen das Informationsschema und ein Standardschema namens public.

Spaltenname Typ Beschreibung
catalog_name character varying Der Datenbankname.
schema_name character varying Der Name des Schemas. Für das Standardschema ist dies auf public festgelegt und für benannte Schemas nicht leer.
schema_owner character varying Der Name des Inhabers des Schemas.
default_character_set_catalog character varying Nicht verwendet.
default_character_set_schema character varying Nicht verwendet.
default_character_set_name character varying Nicht verwendet.
sql_path character varying Nicht verwendet.
effective_timestamp timestamp with timezone Der Zeitstempel, zu dem alle Daten in diesem Schema wirksam wurden. Dies wird nur für das Standardschema verwendet.

sequences

Die Ansicht information_schema.sequences enthält die Metadaten sequences.

Spaltenname Typ Beschreibung
sequence_catalog character varying Der Datenbankname.
sequence_schema character varying Der Name des Schemas der Sequenz. Der Standardwert ist public für eine Datenbank mit PostgreSQL-Dialekt.
sequence_name character varying Der Name der Sequenz.
data_type character varying Sequenzen unterstützen nur int8.
numeric_precision bigint Nicht verwendet. Der Wert ist immer „NULL“.
numeric_precision_radix bigint Nicht verwendet. Der Wert ist immer „NULL“.
numeric_scale bigint Nicht verwendet. Der Wert ist immer „NULL“.
start_value bigint Nicht verwendet. Der Wert ist immer „NULL“.
minimum_value bigint Nicht verwendet. Der Wert ist immer „NULL“.
maximum_value bigint Nicht verwendet. Der Wert ist immer „NULL“.
increment bigint Nicht verwendet. Der Wert ist immer „NULL“.
cycle_option character varying Die einzige Option, die sequence akzeptiert, ist no.
sequence_kind character varying Die Art der Sequenz. bit_reversed_positive ist der einzige zulässige Wert.
counter_start_value bigint Startwert des Sequenzzählers.
skip_range_min bigint Der Mindestwert im übersprungenen Bereich. Dieser Wert ist NULL, wenn er nicht festgelegt ist.
skip_range_max bigint Der Höchstwert im übersprungenen Bereich. Dieser Wert ist NULL, wenn er nicht festgelegt ist.

spanner_statistics

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

Spaltenname Typ Beschreibung
catalog_name character varying Der Datenbankname.
schema_name character varying Der Name des Schemas. Der Standardschemawert ist public.
package_name character varying Der Name des Statistikpakets.
allow_gc character varying Gibt an, ob das Statistikpaket von der automatischen Speicherbereinigung ausgenommen ist. Gemäß dem SQL-Standard ist der String entweder YES oder NO und kein boolescher Wert. Dieses Attribut muss auf NO gesetzt sein, bevor Sie das Statistikpaket in einem Hinweis oder über die Client API referenzieren können.

table_constraints

Diese Ansicht enthält alle Einschränkungen, die zu Tabellen gehören, auf die der aktuelle Nutzer Zugriff hat (außer SELECT).

Spaltenname Typ Beschreibung
constraint_catalog character varying Der Datenbankname.
constraint_schema character varying Der Name des Schemas, das die Einschränkung enthält.
constraint_name character varying Der Name der Einschränkung.
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas, das die Tabelle enthält, die mit der Einschränkung verknüpft ist.
table_name character varying Der Name der Tabelle.
constraint_type character varying Der Typ der Einschränkung. Folgende Werte sind möglich:
  • CHECK
  • FOREIGN KEY
  • PLACEMENT KEY
  • PRIMARY KEY
  • UNIQUE
is_deferrable character varying Der Wert ist immer NO.
initially_deferred character varying Der Wert ist immer NO.
enforced character varying Gibt an, ob die Einschränkung erzwungen wird. Wenn eine Einschränkung erzwungen wird (nachdem sie einen bestimmten Status erreicht hat), wird sie sowohl beim Schreiben als auch durch eine Hintergrundprüfung der Integrität validiert. Gemäß dem SQL-Standard ist der String entweder YES oder NO und kein boolescher Wert.

table_privileges

In dieser zeilengefilterten Ansicht werden alle detaillierten Zugriffssteuerungsberechtigungen 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, Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder public gewährt wurden.

Spaltenname Typ Beschreibung
grantor character varying Nicht verwendet. Immer NULL.
grantee character varying Der Name der Datenbankrolle, der diese Berechtigung gewährt wird.
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas, das die Tabelle oder Ansicht enthält. Der Standardwert für Datenbanken im PostgreSQL-Dialekt ist public.
table_name character varying Der Name der Tabelle oder Ansicht.
privilege_type character varying Der Typ der Berechtigung (SELECT, INSERT, UPDATE oder DELETE).
is_grantable character varying Nicht verwendet. Immer NO.
that have_hierarchy character varying Nicht verwendet. Immer NULL.

tables

In dieser zeilengefilterten Ansicht werden alle Tabellen und Ansichten in der aktuellen 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 Tabellen und Ansichten 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 character varying Der Datenbankname.
table_schema character varying Der Name des Schemas, das die Tabelle oder Ansicht enthält.
table_name character varying Der Name der Tabelle, Ansicht oder des Synonyms.
table_type character varying Der Tabellentyp. Mögliche Werte sind „Basistabelle“, „VIEW“ oder „SYNONYM“.
self_referencing_column_name character varying Nicht verwendet.
reference_generation character varying Nicht verwendet.
user_defined_type_catalog character varying Nicht verwendet.
user_defined_type_schema character varying Nicht verwendet.
user_defined_type_name character varying Nicht verwendet.
is_insertable_into character varying Nicht verwendet.
is_typed character varying Nicht verwendet.
commit_action character varying Nicht verwendet.
parent_table_name character varying Der Name der übergeordneten Tabelle, wenn diese Tabelle verschachtelt ist, oder NULL.
on_delete_action character varying 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 character varying Der aktuelle Erstellungsstatus der Tabelle.
Eine Tabelle kann während der Erstellung mehrere Status durchlaufen, wenn Bulk-Vorgänge beteiligt sind, z. B. wenn die Tabelle mit einem Fremdschlüssel erstellt wird, der ein Backfill des referenzierten Index erfordert. Mögliche Statuswerte sind:
  • ADDING_FOREIGN_KEY: Fremdschlüssel der Tabelle hinzufügen
  • WAITING_FOR_COMMIT: Schemaänderung abschließen
  • COMMITTED: Die Schemaänderung zum Erstellen der Tabelle wurde übernommen. Sie können erst in die Tabelle schreiben, wenn die Änderung übernommen wurde.
  • NULL: Tabellen oder Ansichten, die keine Basistabellen sind.
interleave_type character varying Gibt an, ob zwischen dieser Tabelle und der Tabelle, in der sie verschachtelt ist, eine hierarchische Beziehung besteht. Folgende Werte sind möglich:
  • IN: Eine INTERLEAVE IN-Tabelle ohne Eltern-Kind-Beziehung. Eine Zeile in dieser Tabelle kann unabhängig von der Existenz der übergeordneten Tabellenzeile vorhanden sein.
  • IN PARENT: Eine INTERLEAVE IN PARENT-Tabelle mit einer Eltern-Kind-Beziehung. Eine Zeile in dieser Tabelle erfordert die Existenz der übergeordneten Tabellenzeile.
row_deletion_policy_expression character varying Ein String, der den Ausdruckstext enthält, der die ROW DELETION POLICY definiert.

table_synonyms

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

Spaltenname Typ Beschreibung
CATALOG STRING Name des Katalogs, der die Tabelle enthält.
SCHEMA STRING Name des Schemas, das die Tabelle enthält.
TABLE_NAME STRING 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.

views

In dieser zeilengefilterten Ansicht werden alle Ansichten in der aktuellen 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 Ansichten sehen. Alle anderen Hauptkonten können nur Ansichten sehen, für die die Berechtigung zur detaillierten Zugriffssteuerung SELECT für die aktuelle Datenbankrolle, für Rollen, deren Mitglied die aktuelle Datenbankrolle ist, oder für public gewährt wurde.

Spaltenname Typ Beschreibung
table_catalog character varying Der Datenbankname.
table_schema character varying Der Name des Schemas. Der Standardwert ist public.
table_name character varying Der Name der Ansicht.
view_definition character varying Der SQL-Text der Abfrage, die die Ansicht definiert.
check_option character varying Nicht verwendet.
is_updatable character varying Nicht verwendet.
is_insertable_into character varying Nicht verwendet.
is_trigger_updatable character varying Nicht verwendet.
is_trigger_deletable character varying Nicht verwendet.
is_trigger_insertable_into character varying Nicht verwendet.
security_type character varying Der Sicherheitstyp der Ansicht. INVOKER oder DEFINER.

Weitere Informationen finden Sie unter Informationen zu Ansichten.

Beispiele

Gibt Informationen zu allen Tabellen im Nutzerschema zurück:

SELECT
  t.table_schema,
  t.table_catalog,
  t.table_name,
  t.parent_table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_schema NOT IN ('pg_catalog', '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 und Ansichten in der information_schema für Datenbanken im PostgreSQL-Dialekt zurück:

SELECT table_name
FROM information_schema.tables
WHERE table_schema = "information_schema"

Informationen zu Spalten in der Nutzertabelle my_table im Standardschema zurückgeben:

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

Geben Sie Informationen zu jedem Index im Standardschema in der aktuellen Datenbank zurück: ```postgresql SELECT t.table_name, t.index_name, t.parent_table_name FROM information_schema.indexes AS t WHERE t.table_schema = 'public' AND t.index_type != 'PRIMARY_KEY' ORDER BY t.table_schema, t.table_name, t.index_name

Spalten zurückgeben, die im Standardschema nicht standardmäßige Optionen verwenden:

SELECT
  t.table_name,
  t.column_name,
  t.option_type,
  t.option_value,
  t.option_name
FROM
  information_schema.column_options AS t
WHERE
  t.table_schema = 'public'
ORDER BY
  t.table_schema,
  t.table_name,
  t.column_name,
  t.option_name

Geben Sie die aktuellen Optimierer-bezogenen Datenbankoptionen zurück:

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

Alle verfügbaren Statistikpakete zurückgeben:

SELECT *
FROM information_schema.spanner_statistics;
``` ## What's
next {: #whats-next}

+   Learn about available [Introspection tools](/spanner/docs/introspection) to
help you investigate database issues.