Das Informationsschema ist ein integriertes Schema, das in jeder PostgreSQL-Datenbank gemeinsam 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_name
FROM
information_schema.tables
WHERE
table_schema = 'public'
Nutzung
information_schema
-Tabellen sind nur über SQL-Schnittstellen verfügbar. Beispiel:- Mit der
executeQuery
API - Befehl
gcloud spanner databases execute-sql
- Die Seite Abfrage einer Datenbank in der Google Cloud Console.
Andere einzelne Lesemethoden 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 GoogleSQL-Dialekt-Datenbank verwenden, lesen Sie den Abschnitt Informationsschema für GoogleSQL-Dialekt-Datenbanken.
Unterschiede zu information_schema
für PostgreSQL
Die Tabellen in den information_schema
-Datenbanken für PostgreSQL-Dialekte enthalten Spalten aus den Tabellen in information_schema
für Open-Source-PostgreSQL. In einigen Fällen sind auch Spalten aus Spanner enthalten. In diesen Tabellen stehen die Open-Source-PostgreSQL-Spalten an erster Stelle und in derselben Reihenfolge wie bei einer Open-Source-PostgreSQL-Datenbank. Alle separaten Spalten für Spanner werden anschließend angehängt. Abfragen, die für die Open-Source-PostgreSQL-Version von information_schema
geschrieben wurden, sollten bei Verwendung von PostgreSQL-Dialect-Datenbanken in der Google Cloud CLI unverändert funktionieren.
Weitere wichtige Unterschiede in den information_schema
für PostgreSQL-Dialekt-Datenbanken sind:
- Einige der Tabellenspalten für Open-Source-PostgreSQL sind verfügbar, werden in PostgreSQL-Dialektdatenbanken aber nicht mit Daten gefüllt.
- PostgreSQL-Dialekt-Datenbanken 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 PostgreSQL-Dialekt-Datenbanken nicht unterstützt werden, sind nicht verfügbar.
- Es sind einige Tabellen verfügbar, die für Spanner, aber nicht als Open-Source-PostgreSQL verfügbar sind, z. B.
database_options
,index_columns
,indexes
undspanner_statistics
.
Zeilenfilter in information_schema
Tabellen und Ansichten
Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
(oder Mitglieder dieser Rolle) gewährt wurde, können alle Zeilen in allen information_schema
-Tabellen und -Ansichten sehen. Bei anderen Hauptkonten filtert Spanner Zeilen anhand der aktuellen Datenbankrolle. In den Beschreibungen der Tabellen und Ansichten in den folgenden Abschnitten wird angegeben, wie Spanner Zeilen für die einzelnen Tabellen und Ansichten filtert.
Tabellen in information_schema
für PostgreSQL-Dialekt-Datenbanken
Die Tabellen und Ansichten in information_schema
sind mit den Tabellen und Ansichten im information_schema
von Open-Source-PostgreSQL kompatibel.
In den folgenden Abschnitten werden die Tabellen und Ansichten in information_schema
für PostgreSQL-Dialekt-Datenbanken beschrieben.
applicable_roles
In dieser nach Zeilen gefilterten Ansicht werden alle Rollenmitgliedschaften aufgelistet, die ausdrücklich allen Datenbankrollen gewährt wurden. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder 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 zugewiesen sind, zu der die aktuelle Datenbankrolle gehört.
Da alle Datenbankrollen Mitglieder der öffentlichen Rolle sind, werden in den Ergebnissen Einträge für die implizite Mitgliedschaft in der öffentlichen Rolle weggelassen.
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 diese beobachten. Jede Zeile enthält einen Änderungsstream und eine Spalte. Wenn ein Änderungsstream eine ganze Tabelle erfasst, 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 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 gehört, oder public
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-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-Datenbanken ist der Standardwert public . |
table_name |
character varying |
Der Name der Tabelle, auf die diese Zeile verweist. |
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 Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Optionen für Änderungsstreams sehen, für die die Berechtigung SELECT
der aktuellen Datenbankrolle, Rollen, zu denen die aktuelle Datenbankrolle gehört, oder public
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-Datenbanken ist der Standardwert public . |
change_stream_name |
character varying |
Der Name des Änderungsstreams. |
option_name |
character varying |
Der Name der Option für den Änderungsstream. |
option_type |
character varying |
Der Datentyp der Option für den Änderungsstream. |
option_value |
character varying |
Der Wert der Option für den Änderungsstream. |
change_stream_privileges
Diese nach Zeilen gefilterte Ansicht listet alle detaillierten Berechtigungen für die Zugriffssteuerung auf, die für alle Änderungsstreams einer Datenbankrolle gewährt wurden, einschließlich public
. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder 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, den 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 für PostgreSQL-Dialekt-Datenbanken ist public . |
change_stream_name |
character varying |
Der Name des Änderungsstreams. |
privilege_type |
character varying |
Die Art 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 diese beobachten. Jede Zeile enthält eine Tabelle und einen Änderungsstream. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder 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, zu denen die aktuelle Datenbankrolle gehö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 verfolgen.
Spaltenname | Typ | Beschreibung |
---|---|---|
change_stream_catalog |
character varying |
Der Datenbankname. |
change_stream_schema |
character varying |
Der Name des Schemas des Änderungsstreams. Bei PostgreSQL-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-Datenbanken ist der Standardwert public . |
table_name |
character varying |
Der Name der Tabelle, auf die diese Zeile verweist. |
all_columns |
character varying |
YES , wenn der Änderungsstream dieser Zeile die gesamte Tabelle erfasst, auf die diese Zeile verweist. Andernfalls NO . Gemäß dem SQL-Standard ist der String entweder YES oder NO und kein boolescher Wert. |
change_streams
Diese nach Zeilen gefilterte Ansicht listet alle Änderungsstreams einer Datenbank auf und gibt an, mit welchen Streams die gesamte Datenbank im Vergleich zu bestimmten Tabellen oder Spalten verfolgt wird. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder 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 Berechtigung SELECT
der detaillierten Zugriffssteuerung der aktuellen Datenbankrolle, Rollen, zu denen die aktuelle Datenbankrolle gehört, oder 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 PostgreSQL-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 erfasst.
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üfbeschränkung, die durch das Schlüsselwort CHECK
oder NOT NULL
definiert wird.
Spaltenname | Typ | Beschreibung |
---|---|---|
constraint_catalog |
character varying |
Der Datenbankname. |
constraint_schema |
character varying |
Der Name des Schemas der Einschränkung. Der Standardwert für PostgreSQL-Dialekt-Datenbanken ist public . |
constraint_name |
character varying |
Der Name der Einschränkung. Wenn der Name der Einschränkung im Schema nicht explizit angegeben ist, wird der automatisch generierte Name verwendet. |
check_clause |
character varying |
Ausdruck der Prüfeinschränkung. |
spanner_state |
character varying |
Der aktuelle Status der Diagnoseeinschränkung. Folgende Status sind möglich:
|
column_column_usage
In dieser Ansicht werden alle generierten Spalten aufgelistet, 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. Für das Standardschema lautet der Name public und für andere Schemas nicht leer (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 aufgelistet, die für die referenzierten Tabellenspalten einer Fremdschlüsseleinschränkung definiert wurden. Die Ansicht enthält nur die Spalten in der Referenztabelle, auf die der aktuelle Nutzer als Inhaber oder gewährten Berechtigungen Zugriff hat.
Spaltenname | Typ | Beschreibung |
---|---|---|
table_catalog |
character varying |
Der Datenbankname. |
table_schema |
character varying |
Der Name des Schemas, das die fremde Tabelle enthält. Für das Standardschema lautet der Name public und für andere Schemas nicht leer (z. B. information_schema selbst). Diese Spalte ist nie Null. |
table_name |
character varying |
Der Name der fremden Tabelle. |
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
Diese nach Zeilen gefilterte Ansicht listet alle detaillierten Berechtigungen für die Zugriffssteuerung auf, die einer beliebigen Datenbankrolle für alle Spalten gewährt werden, einschließlich public
. Hauptkonten mit Berechtigungen auf IAM-Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder 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, in denen die aktuelle Datenbankrolle Mitglied 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 PostgreSQL-Dialekt-Datenbanken 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 |
Die Art der Berechtigung (SELECT , INSERT oder UPDATE ). |
is_grantable |
character varying |
Nicht verwendet. Immer NO . |
columns
Diese nach Zeilen gefilterte Ansicht bietet Informationen zu allen Tabellen- und Ansichtsspalten in der Datenbank. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Spalten mit detaillierten Zugriffskontrollberechtigungen (oder die Berechtigungen SELECT
, INSERT
oder UPDATE
, die für ihre enthaltenden Tabellen gewährt werden) der aktuellen Datenbankrolle, den Rollen, zu denen die aktuelle Datenbankrolle gehört, oder public
sehen.
Spaltenname | Typ | Beschreibung |
---|---|---|
table_catalog |
character varying |
Der Datenbankname. |
table_schema |
character varying |
Der Name des Schemas, das die Tabelle enthält. Für das Standardschema lautet der Name public und für andere Schemas nicht leer (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 angegebene 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 lautet der Wert 53. Für bigint lautet der Wert 64.
Für alle anderen Datentypen ist der Wert NULL . |
numeric_precision_radix |
BIGINT |
Die Basis (Einheit) der Genauigkeit für numerische Typen. Derzeit werden nur zwei Werte unterstützt:
NULL . |
numeric_scale |
BIGINT |
Enthält die Skalierung des Spaltentyps „Numerisch“, also die Anzahl der Basiseinheiten der Präzision nach dem Radixpunkt. Für bigint ist der Wert 0.
Für alle 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 mit dem DDL-kompatiblen Typ der Spalte. |
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:
|
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 SchlüsselwortNOT NULL
definiert werden, enthält die Ansicht diese Spalten. - Bei
CHECK
-Einschränkungen, die mit dem SchlüsselwortCHECK
erstellt wurden, enthält die Ansicht die Spalten, die vom Prüfeinschränkungsausdruck 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 mit der Spalte enthält, die von der Einschränkung verwendet wird. |
table_name |
character varying |
Der Name der Tabelle mit der Spalte, 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 von einer Einschränkung verwendete Tabelle. Bei FOREIGN
KEY
-Einschränkungen beziehen sich die Tabelleninformationen auf die Tabellen in der REFERENCES
-Klausel. Bei einer Einschränkung vom Typ „Eindeutig“ oder „Primärschlüssel“ identifiziert diese Ansicht einfach die Tabelle, zu der die Einschränkung gehört. Prüfungseinschrä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, der 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 PostgreSQL-Dialekt-Datenbanken 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 aufgelistet. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder 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. In dieser Ansicht werden auch alle Systemrollen außer public
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 dem Index zugeordnet ist. |
index_name |
character varying |
Der Name des Index. Bei Tabellen mit der Spezifikation PRIMARY KEY wird ein Pseudoindexeintrag mit dem Namen PRIMARY_KEY generiert. |
index_type |
character varying |
Der Indextyp. 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 Spalten, die keine Schlüsselspalten sind (z. B. Spalten, die in der INCLUDE -Klausel eines Index angegeben werden). |
column_ordering |
character varying |
Die Sortierreihenfolge der Spalte. Der Wert ist ASC oder DESC für Schlüsselspalten und NULL für Spalten, die keine Schlüsselspalten sind (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 mit dem DDL-kompatiblen Typ der Spalte. |
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. Tabellen, die mit einer PRIMARY KEY -Klausel erstellt werden, haben einen Pseudoindexeintrag mit dem Namen PRIMARY_KEY , mit dem die Felder des Primärschlüssels identifiziert werden können. |
index_type |
character varying |
Der Typ des Index. Zu den Werten gehören 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 dieser ü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. Mögliche Werte und die Status, die sie darstellen, sind:
|
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
Diese Ansicht identifiziert alle Spalten in der aktuellen Datenbank, auf die durch eine eindeutige, Primärschlüssel- oder Fremdschlüsseleinschränkung verwiesen wird. Informationen zu Einschränkungsspalten CHECK
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 mit der Spalte, die von dieser Einschränkung eingeschränkt ist. |
column_name |
character varying |
Der Name der Spalte, die eingeschränkt ist. |
ordinal_position |
BIGINT |
Die ordinale Position der Spalte im Schlüssel 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 einem Wert von 1 . Diese Spalte enthält einen NULL -Wert für andere Einschränkungstypen. |
parameters
Diese nach Zeilen gefilterte Ansicht definiert die Argumente für jede Lesefunktion des Änderungsstreams. Jede Zeile beschreibt ein Argument für eine Lesefunktion des Änderungsstreams.
Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Parameter für Lesefunktionen des Änderungsstreams sehen, für die der aktuellen Datenbankrolle, den Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public
die Berechtigung EXECUTE
für die detaillierte Zugriffssteuerung gewährt wurde.
Spaltenname | Typ | Beschreibung |
---|---|---|
specific_catalog |
character varying |
Der Datenbankname. |
specific_schema |
character varying |
Der Name des Schemas der Routine. Bei PostgreSQL-Datenbanken ist der Standardwert public . |
specific_name |
character varying |
Der Name des Ablaufs. Identifiziert die Routine eindeutig, selbst wenn ihr Name überlastet 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 . |
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 angegeben, die die Fremdschlüssel für die Erzwingung von Einschränkungen und referenzielle Aktionen verwenden.
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 Eindeutigkeits- oder Primärschlüsseleinschränkung, auf die die Fremdschlüsseleinschränkung verweist. |
match_option |
character varying |
Die von der Fremdschlüsseleinschränkung verwendete Abgleichmethode. 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. Dieser Wert ist entweder CASCADE oder NO ACTION . |
spanner_state |
character varying |
Der aktuelle Status des Fremdschlüssels. Spanner beginnt erst, wenn die Sicherungsindexe des Fremdschlüssels erstellt und per Backfill ausgefüllt 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. Mögliche Werte und die Status, die sie darstellen:
|
role_change_stream_grants
Diese nach Zeilen gefilterte Ansicht listet die SELECT
-Berechtigungen auf, die für alle Änderungsstreams 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 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 den Rollen, denen die aktuelle Datenbankrolle angehö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. |
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 PostgreSQL-Dialekt-Datenbanken ist public . |
change_stream_name |
character varying |
Der Name des Änderungsstreams. |
privilege_type |
character varying |
Die Art der Berechtigung (nur SELECT ). |
is_grantable |
character varying |
Nicht verwendet. Immer NO . |
role_column_grants
Diese nach Zeilen gefilterte Ansicht listet alle detaillierten Berechtigungen für die Zugriffssteuerung auf, die einer beliebigen Datenbankrolle für alle Spalten gewährt werden, einschließlich public
. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder 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 Rollen, denen die aktuelle Datenbankrolle angehört, zugewiesen sind, nicht einschließlich 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 PostgreSQL-Dialekt-Datenbanken 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 |
Die Art der Berechtigung (SELECT , INSERT oder UPDATE ). |
is_grantable |
character varying |
Nicht verwendet. Immer NO . |
role_routine_grants
Diese nach Zeilen gefilterte Ansicht listet die EXECUTE
-Berechtigungen auf, die für alle Änderungsstream-Lesefunktionen 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 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 des Ä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 PostgreSQL-Datenbanken ist der Standardwert public . |
specific_name
|
character varying
|
Der Name des Ablaufs. Identifiziert die Routine eindeutig, selbst wenn ihr Name überlastet ist. |
routine_catalog
|
character varying
|
Der Datenbankname. |
routine_schema
|
character varying
|
Der Name des Schemas der Routine. Der Standardwert für PostgreSQL-Dialekt-Datenbanken ist public . |
routine_name
|
character varying
|
Der Name des Ablaufs. (Kann bei Überlastung dupliziert werden.) |
privilege_type
|
character varying
|
Die Art der gewährten Berechtigung. Immer EXECUTE . |
is_grantable
|
character varying
|
Nicht verwendet. Immer NO . |
role_table_grants
Diese nach Zeilen gefilterte Ansicht listet alle detaillierten Berechtigungen für die Zugriffssteuerung auf, die einer beliebigen Datenbankrolle, einschließlich public
, für alle Tabellen und Ansichten gewährt wurden. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Berechtigungen sehen, die der aktuellen Datenbankrolle und den Rollen, zu denen die aktuelle Datenbankrolle gehört, mit Ausnahme von public
nur für Tabellen und Ansichten 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 PostgreSQL-Dialekt-Datenbanken ist public . |
table_name |
character varying |
Der Name der Tabelle oder Ansicht. |
privilege_type |
character varying |
Die Art 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 pro Option für jede definierte Lesefunktion für den Änderungsstream.
Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Optionen für Lesefunktionen für Änderungsstreams sehen, für die der aktuellen Datenbankrolle, den Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public
die Berechtigung EXECUTE
für die detaillierte Zugriffssteuerung 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 PostgreSQL-Dialekt-Datenbanken ist public . |
specific_name
|
character varying
|
Der Name des Ablaufs. Identifiziert die Routine eindeutig, selbst wenn ihr Name überlastet 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
Diese nach Zeilen gefilterte Ansicht listet alle detaillierten Zugriffssteuerungsberechtigungen auf, die für alle Lesefunktionen des Änderungsstreams 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 Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Berechtigungen sehen, die der aktuellen Datenbankrolle, den Rollen, zu denen die aktuelle Datenbankrolle gehört, oder public
für Lesefunktionen für Änderungsstreams 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 PostgreSQL-Datenbanken ist der Standardwert public . |
specific_name
|
character varying
|
Der Name des Ablaufs. Identifiziert die Routine eindeutig, selbst wenn ihr Name überlastet 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 des Ablaufs. (Wird bei Überlastung möglicherweise dupliziert.) |
privilege_type
|
character varying
|
Die Art der gewährten Berechtigung. |
is_grantable
|
character varying
|
Nicht verwendet. Immer NO . |
routines
In dieser nach Zeilen gefilterten Ansicht werden alle Lesefunktionen des Änderungsstreams einer Datenbank aufgelistet.
Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Lesefunktionen für Änderungsstreams sehen, für die die Berechtigung EXECUTE
der detaillierten Zugriffssteuerung der aktuellen Datenbankrolle, den Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public
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 PostgreSQL-Dialekt-Datenbanken ist public . |
specific_name |
character varying |
Der Name des Ablaufs. Identifiziert die Routine eindeutig, selbst wenn ihr Name überlastet ist. |
routine_catalog |
character varying |
Der Datenbankname. |
routine_schema |
character varying |
Der Name des Schemas der Routine. |
routine_name |
character varying |
Der Name des Ablaufs. (Kann bei Überlastung dupliziert werden.) |
routine_type |
character varying |
Der Typ des Ablaufs (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 /td>
| 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 Ablaufs (SQL oder EXTERNAL ). |
routine_definition |
character varying |
Die Definition für die 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 des Ablaufs. Aktuell nur INVOKER . |
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 enthalten das Informationsschema und ein Standardschema mit dem Namen public
.
Spaltenname | Typ | Beschreibung |
---|---|---|
catalog_name |
character varying |
Der Datenbankname. |
schema_name |
character varying |
Der Name des Schemas. Dieser Wert ist für das Standardschema auf public gesetzt und für benannte Schemas nicht leer. |
schema_owner |
character varying |
Der Name des Schemainhabers. |
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 gültig waren. Diese wird derzeit nur für das Standardschema verwendet. |
sequences
Die Ansicht information_schema.sequences
enthält die sequences
-Metadaten.
Spaltenname | Typ | Beschreibung |
---|---|---|
sequence_catalog |
character varying |
Der Datenbankname. |
sequence_schema |
character varying |
Der Name des Schemas der Sequenz. Der Standardwert für eine PostgreSQL-Dialektdatenbank ist public . |
sequence_name |
character varying |
Der Name der Sequenz. |
data_type |
character varying |
Sequenz unterstützt nur int8 . |
numeric_precision |
bigint |
Derzeit nicht verwendet. Der Wert ist immer NULL. |
numeric_precision_radix |
bigint |
Derzeit nicht verwendet. Der Wert ist immer NULL. |
numeric_scale |
bigint |
Derzeit nicht verwendet. Der Wert ist immer NULL. |
start_value |
bigint |
Derzeit nicht verwendet. Der Wert ist immer NULL. |
minimum_value |
bigint |
Derzeit nicht verwendet. Der Wert ist immer NULL. |
maximum_value |
bigint |
Derzeit nicht verwendet. Der Wert ist immer NULL. |
increment |
bigint |
Derzeit nicht verwendet. Der Wert ist immer NULL. |
cycle_option |
character varying |
Die einzige Option, die von sequence akzeptiert wird, 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 Minimalwert im übersprungenen Bereich. Dieser Wert ist NULL , wenn nicht festgelegt. |
skip_range_max |
bigint |
Der Maximalwert im übersprungenen Bereich. Dieser Wert ist NULL , wenn nicht festgelegt. |
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 werden, bevor Sie auf das Statistikpaket in einem Hinweis oder über die Client API verweisen können.
|
table_constraints
Diese Ansicht enthält alle Einschränkungen für Tabellen, 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 mit der Einschränkung verknüpfte Tabelle enthält. |
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 (nach Erreichen eines bestimmten Status), wird sie sowohl zum Schreibzeitpunkt als auch von einer Hintergrundintegritätsprüfung validiert. Gemäß dem SQL-Standard ist der String entweder YES oder NO und kein boolescher Wert. |
table_privileges
Diese nach Zeilen gefilterte Ansicht listet alle detaillierten Berechtigungen für die Zugriffssteuerung auf, die einer beliebigen Datenbankrolle, einschließlich public
, für alle Tabellen und Ansichten gewährt wurden. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder Mitglieder dieser Rolle gewährt wurde, können alle Zeilen in dieser Ansicht sehen. Alle anderen Hauptkonten können nur Berechtigungen sehen, die der aktuellen Datenbankrolle, den Rollen, in denen die aktuelle Datenbankrolle Mitglied ist, oder public
zugewiesen 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 PostgreSQL-Dialekt-Datenbanken ist public . |
table_name |
character varying |
Der Name der Tabelle oder Ansicht. |
privilege_type |
character varying |
Die Art 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
Diese nach Zeilen gefilterte Ansicht listet alle Tabellen und Ansichten auf, die sich in der aktuellen Datenbank befinden.
Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder 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 detaillierten Berechtigungen für die Zugriffssteuerung
SELECT
,INSERT
,UPDATE
oderDELETE
werden für die Tabelle der aktuellen Datenbankrolle, den Rollen, zu denen die aktuelle Datenbankrolle gehört, oderpublic
gewährt. - Die Berechtigungen
SELECT
,INSERT
oderUPDATE
werden für jede Tabellenspalte der aktuellen Datenbankrolle, den Rollen, zu denen die aktuelle Datenbankrolle gehö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, der 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 diese Tabelle verschränkt ist, oder NULL . |
on_delete_action |
character varying |
Dieser Wert ist für verschränkte Tabellen auf CASCADE oder NO ACTION gesetzt, andernfalls auf NULL . Weitere Informationen finden Sie unter TABLE-Anweisungen. |
spanner_state |
character varying |
Der aktuelle Erstellungsstatus der Tabelle. Eine Tabelle kann während der Erstellung mehrere Zustände durchlaufen, wenn Bulk-Vorgänge erforderlich sind. Dies ist beispielsweise der Fall, 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 eine hierarchische Beziehung zwischen dieser Tabelle und der Tabelle besteht, in die sie verschränkt ist. 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 |
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 aufgelistet. Hauptkonten mit IAM-Berechtigungen auf Datenbankebene und Hauptkonten, denen Zugriff auf die Systemrolle spanner_info_reader
oder Mitglieder dieser Rolle gewährt wurde, können alle Ansichten sehen. Alle anderen Hauptkonten können nur Ansichten mit der Berechtigung SELECT
für die detaillierte Zugriffssteuerung sehen, die der aktuellen Datenbankrolle, den Rollen, zu denen die aktuelle Datenbankrolle gehört, 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. Entweder INVOKER oder DEFINER .
Weitere Informationen finden Sie unter Informationen zu Ansichten. |
Beispiele
Gibt Informationen zu jeder Tabelle im Standardschema zurück:
SELECT
t.table_catalog,
t.table_name,
t.parent_table_name
FROM
information_schema.tables AS t
WHERE
t.table_schema = 'public'
ORDER BY
t.table_catalog,
t.table_schema,
t.table_name
Geben Sie den Namen aller Tabellen und Ansichten in information_schema
für PostgreSQL-Dialekt-Datenbanken zurück:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = "information_schema"
Informationen zu den Spalten in der Nutzertabelle my_table
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:
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
Alle Spalten zurückgeben, die andere Optionen als die Standardoptionen verwenden:
SELECT
t.table_name,
t.column_name,
t.option_type,
t.option_value,
t.option_name
FROM
information_schema.column_options AS t
WHERE
t.table_schema = 'public'
ORDER BY
t.table_schema,
t.table_name,
t.column_name,
t.option_name
Geben Sie die aktuellen Optimierungs-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;
Nächste Schritte
- Tools zur Selbstprüfung kennenlernen, die Ihnen bei der Untersuchung von Datenbankproblemen helfen