Das Informationsschema ist ein integriertes Schema, über das alle PostgreSQL-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 ('pg_catalog', 'information_schema', 'SPANNER_SYS')
AND table_type = 'BASE TABLE'
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 Abfrage einer Datenbank in der Google Cloud -Console.
Andere Einzellesemethoden unterstützen
information_schema
nicht.- Mit der
- Abfragen für
information_schema
können starke Zeitstempelgrenzen, Zeitstempelgrenzen mit begrenzter Veralterung oder Zeitstempelgrenzen mit exakter Veralterung verwenden. - Wenn Sie eine Datenbank mit GoogleSQL-Dialekt verwenden, lesen Sie den Abschnitt Informationsschema für Datenbanken mit GoogleSQL-Dialekt.
Unterschiede zu information_schema
für PostgreSQL
Die Tabellen in der information_schema
für Datenbanken mit PostgreSQL-Dialekt 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 werden die Open-Source-PostgreSQL-Spalten zuerst und in derselben Reihenfolge wie für eine Open-Source-PostgreSQL-Datenbank aufgeführt. Alle eindeutigen Spanner-Spalten werden danach angehängt. Für die Open-Source-PostgreSQL-Version von information_schema
geschriebene Abfragen sollten ohne Änderungen funktionieren, wenn Sie PostgreSQL-Dialektdatenbanken in der Google Cloud CLI verwenden.
Weitere wichtige Unterschiede im information_schema
für Datenbanken mit PostgreSQL-Dialekt:
- Einige der Tabellenspalten für Open-Source-PostgreSQL sind verfügbar, werden aber in Datenbanken mit PostgreSQL-Dialekt nicht gefüllt.
- Bei Datenbanken mit PostgreSQL-Dialekt wird
public
als Standardschemaname verwendet. - Automatisch generierte Einschränkungsnamen haben ein anderes Format als Open-Source-PostgreSQL-Datenbanken.
- Tabellen, die sich auf Open-Source-PostgreSQL-Funktionen beziehen, die in Datenbanken mit PostgreSQL-Dialekt nicht unterstützt werden, sind nicht verfügbar.
- Einige Tabellen, die in Spanner, aber nicht in Open-Source-PostgreSQL verfügbar sind, z. B.
database_options
,index_columns
,indexes
undspanner_statistics
, sind verfügbar.
Zeilenfilterung in information_schema
-Tabellen und ‑Ansichten
Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die spanner_info_reader
-Systemrolle (oder auf Mitglieder dieser Rolle) gewährt wurde, können alle Zeilen in allen information_schema
-Tabellen und -Ansichten sehen. Bei anderen Identitäten 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 mit 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 mit PostgreSQL-Dialekt beschrieben.
applicable_roles
In dieser nach Zeilen gefilterten Ansicht werden alle Rollenzuweisungen 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 Rollenzuweisungen sehen, die der aktuellen Datenbankrolle oder einer Rolle gewährt werden, deren Mitglied die aktuelle Datenbankrolle ist.
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 |
---|---|---|
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 nach Zeilen gefilterte Ansicht 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 Principals können nur Zeilen für Änderungsstreams sehen, für die die Berechtigung SELECT
für die aktuelle Datenbankrolle, für Rollen, zu denen die aktuelle Datenbankrolle gehört, oder für public
erteilt wurde.
Spaltenname | Typ | Beschreibung |
---|---|---|
change_stream_catalog |
character varying |
Der Datenbankname. |
change_stream_schema |
character varying |
Der Name des Schemas des Änderungsstreams. Bei Datenbanken mit PostgreSQL-Dialekt 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 Datenbanken mit PostgreSQL-Dialekt 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 nach Zeilen gefilterte 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 die Berechtigung SELECT
der aktuellen Datenbankrolle, Rollen, denen die aktuelle Datenbankrolle angehört, oder public
gewährt wird.
Spaltenname | Typ | Beschreibung |
---|---|---|
change_stream_catalog |
character varying |
Der Datenbankname. |
change_stream_schema |
character varying |
Der Name des Schemas des Änderungsstreams. Bei Datenbanken mit PostgreSQL-Dialekt 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 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 |
---|---|---|
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 ist public für Datenbanken mit PostgreSQL-Dialekt. |
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 nach Zeilen gefilterte Ansicht 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 |
character varying |
Der Datenbankname. |
change_stream_schema |
character varying |
Der Name des Schemas des Änderungsstreams. Bei Datenbanken mit PostgreSQL-Dialekt 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 Datenbanken mit PostgreSQL-Dialekt 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 erfasst, 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 nach Zeilen gefilterten 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 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 |
character varying |
Der Datenbankname. |
change_stream_schema |
character varying |
Der Name des Schemas dieses Änderungsstreams. Bei Datenbanken mit PostgreSQL-Dialekt 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 Check-Einschränkung, die entweder durch den CHECK
- oder den NOT NULL
-Suchbegriff definiert ist.
Spaltenname | Typ | Beschreibung |
---|---|---|
constraint_catalog |
character varying |
Der Datenbankname. |
constraint_schema |
character varying |
Der Name des Schemas der Einschränkung. Der Standardwert ist public für Datenbanken mit PostgreSQL-Dialekt. |
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 Diagnoseeinschränkung. |
spanner_state |
character varying |
Der aktuelle Status der Prüfeinschränkung. Folgende Status sind möglich:
|
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 ist public für das Standardschema und nicht leer für andere Schemas (z. B. 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 (entweder als Inhaber oder durch gewährte Berechtigungen).
Spaltenname | Typ | Beschreibung |
---|---|---|
table_catalog |
character varying |
Der Datenbankname. |
table_schema |
character varying |
Der Name des Schemas, das die externe Tabelle enthält. Der Name ist public für das Standardschema und nicht leer für andere Schemas (z. B. 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 analysiert werden. |
option_type |
character varying |
Ein Datentypname, der der Typ dieses Optionswerts ist. |
column_privileges
In dieser zeilengefilterten Ansicht werden 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, für Rollen, denen die aktuelle Datenbankrolle angehört, oder für public
erteilt wurden.
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 |
character varying |
Nicht verwendet. Immer NULL . |
grantee |
character varying |
Der Name der Datenbankrolle, der dieses Recht 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 ist public für Datenbanken mit PostgreSQL-Dialekt. |
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 Principals können nur Spalten sehen, für die der aktuellen Datenbankrolle, Rollen, denen die aktuelle Datenbankrolle angehört, oder public
differenzierte Zugriffssteuerungsberechtigungen (oder die Berechtigungen SELECT
, INSERT
oder UPDATE
für die zugehörigen Tabellen) gewährt wurden.
Spaltenname | Typ | Beschreibung |
---|---|---|
table_catalog |
character varying |
Der Datenbankname. |
table_schema |
character varying |
Der Name des Schemas, das die Tabelle enthält. Der Name ist public für das Standardschema und nicht leer für andere Schemas (z. B. 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:
|
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 lautet der Wert NULL . |
numeric_precision_radix |
BIGINT |
Die Basis (Einheit) der Genauigkeit für numerische Typen. Es werden nur zwei Werte unterstützt:
NULL . |
numeric_scale |
BIGINT |
Enthält die Skalierung des numerischen Spaltentyps, d. h. die Anzahl der Genauigkeitseinheiten nach dem Radixpunkt. Für bigint ist der Wert 0.
Bei allen anderen Datentypen lautet 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 |
Eine Zeichenfolge mit dem DDL-kompatiblen Typ der Spalte. |
is_stored |
character varying |
Ein String, der angibt, ob die generierte Spalte gespeichert wird.
Bei generierten Spalten ist der String 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:
|
constraint_column_usage
Diese Ansicht enthält eine Zeile über jede Spalte, die von einer Einschränkung verwendet wird.
- Für
PRIMARY KEY
- undCHECK
-Einschränkungen, die durch das KeywordNOT NULL
definiert werden, enthält die Ansicht diese Spalten. - Für
CHECK
-Einschränkungen, die mit dem KeywordCHECK
erstellt wurden, enthält die Ansicht die Spalten, die vom Ausdruck der Diagnoseeinschrä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 ausKEY_COLUMN_USAGE
.
Spaltenname | Typ | Beschreibung |
---|---|---|
table_catalog |
character varying |
Der Datenbankname. |
table_schema |
character varying |
Der Name des Schemas, das die Tabelle enthält, die die 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 eindeutigen oder Primärschlüsseleinschränkung wird in dieser Ansicht die Tabelle angegeben, zu der die Einschränkung gehört. Check-Einschränkungen und NOT 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 nach Zeilen gefilterten 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 mit Ausnahme von 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 aufgeführt.
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 dem Index zugeordnet ist. |
index_name |
character varying |
Der Name des Index. Tabellen mit einer PRIMARY KEY -Spezifikation haben einen Pseudo-Indexeintrag, der mit dem Namen PRIMARY_KEY generiert wird. |
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 bei Spalten, die keine Schlüsselspalten sind (beispielsweise Spalten, die in der INCLUDE -Klausel eines Index angegeben werden). |
column_ordering |
character varying |
Die Sortierreihenfolge 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 |
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 |
Eine Zeichenfolge mit dem DDL-kompatiblen Typ der Spalte. |
indexes
In dieser Ansicht werden die Indexe in einem Schema aufgeführt.
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 Pseudo-Indexeintrag mit dem Namen PRIMARY_KEY generiert, mit dem die Felder des Primärschlüssels identifiziert werden können. |
index_type |
character varying |
Der Typ des Index. Die Werte umfassen PRIMARY_KEY , LOCAL oder GLOBAL . |
parent_table_name |
character varying |
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 |
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. Folgende Werte und zugehörige Status sind möglich:
|
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. Gemäß dem SQL-Standard ist der String 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 aufgeführt, auf die durch eine eindeutige Einschränkung, eine Primärschlüsseleinschränkung oder eine Fremdschlüsseleinschränkung 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 |
Für FOREIGN KEY s 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 nach Zeilen gefilterten Ansicht werden die Argumente für jede Lesefunktion für Änderungsstreams definiert. Jede Zeile beschreibt ein Argument für eine Lesefunktion für Änderungsstreams.
Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen 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 |
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:
|
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 . |
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 im OPTIONS
-Abschnitt der CREATE PLACEMENT
-Anweisung für das Placement 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:
|
option_type |
character varying |
Der Datentyp der Placement-Option. |
option_value |
character varying |
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 |
character varying |
Der Name der Ortsgruppe. |
option_name |
character varying |
Der Name der Option für die Ortsgruppe. Gültige Optionen sind:
|
option_value |
character varying |
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. |
referential_constraints
Diese Ansicht enthält eine Zeile zu jeder FOREIGN KEY
-Einschränkung. Sie sehen nur die Einschränkungen, für die Sie Schreibzugriff auf die referenzierende Tabelle haben. In dieser Ansicht werden auch die PRIMARY KEY
- und UNIQUE
-Einschränkungen für die referenzierten Tabellen angegeben, die von den Fremdschlüsseln für die Erzwingung von Einschränkungen und referenziellen 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üsseleinschränkung enthält, auf die die Fremdschlüsseleinschränkung verweist. |
unique_constraint_name |
character varying |
Der Name der eindeutigen oder Primärschlüsseleinschränkung, auf die die Fremdschlüsseleinschränkung verweist. |
match_option |
character varying |
Die von der Fremdschlüsseleinschrä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üsseleinschränkung. Der Wert ist entweder CASCADE oder NO ACTION . |
spanner_state |
character varying |
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:
|
role_change_stream_grants
In dieser zeilengefilterten Ansicht werden 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 |
---|---|---|
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 ist public für Datenbanken mit PostgreSQL-Dialekt. |
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 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 |
character varying |
Nicht verwendet. Immer NULL . |
grantee |
character varying |
Der Name der Datenbankrolle, der dieses Recht 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 ist public für Datenbanken mit PostgreSQL-Dialekt. |
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 für Ä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 Ä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
|
character varying
|
Nicht verwendet. Immer NULL . |
grantee
|
character varying
|
Der Name der Rolle, der das Recht 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 für Datenbanken mit PostgreSQL-Dialekt. |
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 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 |
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 ist public für Datenbanken mit PostgreSQL-Dialekt. |
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 nach Zeilen gefilterte 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 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
|
character varying
|
Der Datenbankname. |
specific_schema
|
character varying
|
Der Name des Schemas der Routine. Der Standardwert ist public für Datenbanken mit PostgreSQL-Dialekt. |
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:
|
option_value
|
character varying
|
Der Wert der Option. |
routine_privileges
In dieser zeilengefilterten Ansicht werden alle detaillierten Berechtigungen für die Zugriffssteuerung aufgeführt, die für alle Lesefunktionen für Änderungsstreams für eine beliebige Datenbankrolle gewährt wurden, einschließlich public
. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder auf Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Berechtigungen sehen, die für Änderungsstream-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 |
---|---|---|
grantor
|
character varying
|
Nicht verwendet. Immer NULL . |
grantee
|
character varying
|
Der Name der Rolle, der das Recht 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 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 |
character varying |
Der Datenbankname. |
specific_schema |
character varying |
Der Name des Schemas der Routine. Der Standardwert ist public für Datenbanken mit PostgreSQL-Dialekt. |
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:
|
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 Routinetexts (SQL oder EXTERNAL ). |
routine_definition |
character varying |
Die Definition für den routine_body -SQL-Code, 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. Nur INVOKER wird 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 . |
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. Die Spalte ist beim Standardschema auf public gesetzt und bei benannten Schemas nicht leer. |
schema_owner |
character varying |
Der Name des Eigentümers 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, ab dem alle Daten in diesem Schema gültig sind. Diese Einstellung wird nur für das Standardschema verwendet. |
sequences
Die Ansicht information_schema.sequences
enthält die Metadaten von 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 |
Sequenz unterstützt 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 einzig zulässige Wert. |
counter_start_value |
bigint |
Startwert des Sequenzzählers. |
skip_range_min |
bigint |
Der Mindestwert im übersprungenen Bereich. Wenn nicht festgelegt, ist dieser Wert NULL . |
skip_range_max |
bigint |
Der Maximalwert im übersprungenen Bereich. Wenn nicht festgelegt, ist dieser Wert NULL . |
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 in einem Hinweis oder über die Client API auf das Statistikpaket verweisen können.
|
table_constraints
Diese Ansicht enthält alle Einschränkungen für Tabellen, auf die der aktuelle Nutzer Zugriff hat (mit Ausnahme von 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:
|
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 zur Schreibzeit als auch von einem Hintergrundprüfer für die 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 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, für Rollen, zu denen die aktuelle Datenbankrolle gehört, oder für 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 ist public für Datenbanken mit PostgreSQL-Dialekt. |
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 Identitäten können nur Tabellen sehen, die eine der folgenden Anforderungen erfüllen:
-
Die Berechtigungen für die detaillierte Zugriffssteuerung
SELECT
,INSERT
,UPDATE
oderDELETE
werden für die Tabelle der aktuellen Datenbankrolle, Rollen, zu denen die aktuelle Datenbankrolle gehört, oderpublic
gewährt. - Die Berechtigungen
SELECT
,INSERT
oderUPDATE
werden für jede Tabellenspalte der aktuellen Datenbankrolle, Rollen, denen die aktuelle Datenbankrolle angehört, oderpublic
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 „BASE TABLE“, „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 die Tabelle verknüpft ist, oder NULL . |
on_delete_action |
character varying |
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 |
character varying |
Der aktuelle Status der Tabellenerstellung. Eine Tabelle kann bei der Erstellung mehrere Status durchlaufen, wenn Bulk-Vorgänge ausgeführt werden, z. B. wenn die Tabelle mit einem Fremdschlüssel erstellt wird, für den ein Backfill des referenzierten Index erforderlich ist. Mögliche Status sind:
|
interleave_type |
character varying |
Gibt an, ob zwischen dieser Tabelle und der Tabelle, in die sie verschränkt ist, eine hierarchische Beziehung besteht. Folgende Werte sind möglich:
|
row_deletion_policy_expression |
character varying |
Ein String, der den Ausdruckstext enthält, der das ROW
DELETION POLICY definiert. |
table_synonyms
In dieser Tabelle sind Synonyminformationen für die Tabelle aufgeführt.
Spaltenname | Typ | Beschreibung |
---|---|---|
CATALOG |
STRING |
Der 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 nach Zeilen gefilterten 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 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 detaillierte Zugriffssteuerung 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. Entweder INVOKER oder
DEFINER .
Weitere Informationen finden Sie unter 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 information_schema
für Datenbanken mit 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
Gibt 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
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='public'
AND s.option_name IN ('optimizer_version',
'optimizer_statistics_package')
Gibt alle verfügbaren Statistikpakete zurück:
SELECT *
FROM information_schema.spanner_statistics;
Nächste Schritte
- Informieren Sie sich über die verfügbaren Tools zur Überprüfung, mit denen Sie Datenbankprobleme untersuchen können.