Lo schema di informazioni è uno schema integrato comune a ogni database PostgreSQL. Puoi eseguire query SQL sulle tabelle in
information_schema
per recuperare i metadati dello schema per un database.
Ad esempio, la seguente query recupera i nomi di tutte le tabelle definite dall'utente in un database:
SELECT
table_name
FROM
information_schema.tables
WHERE
table_schema = 'public'
Utilizzo
Le tabelle
information_schema
sono disponibili solo tramite interfacce SQL, ad esempio:- L'API
executeQuery
- Il comando
gcloud spanner databases execute-sql
- La pagina Query di un database nella console Google Cloud.
Altri metodi di lettura singola non supportano
information_schema
.- L'API
- Le query relative a
information_schema
possono utilizzare limiti di timestamp di inattività elevata o limitata. - Se utilizzi un database di dialetti GoogleSQL, consulta Schema di informazioni per database di dialetti GoogleSQL.
Differenze rispetto a information_schema
per PostgreSQL
Le tabelle in information_schema
per i database dialetto PostgreSQL includono colonne delle tabelle in information_schema
per PostgreSQL open source e, in alcuni casi, includono anche colonne di Spanner. In queste tabelle, le colonne PostgreSQL open source vengono mostrate per prime e nello stesso ordine utilizzato per un database PostgreSQL open source, dopodiché eventuali colonne distinte per Spanner vengono aggiunte. Le query scritte per la versione open source PostgreSQL di information_schema
dovrebbero funzionare senza modifiche quando si utilizzano database dialetto PostgreSQL in Google Cloud CLI.
Altre differenze degne di nota in information_schema
per i database dialetti PostgreSQL sono:
- Alcune delle colonne della tabella per PostgreSQL open source sono disponibili, ma non compilate nei database dialetto PostgreSQL.
- I database dialetto PostgreSQL utilizzano
public
come nome dello schema predefinito. - I nomi dei vincoli generati automaticamente utilizzano un formato diverso rispetto ai database open source PostgreSQL.
- Non sono disponibili tabelle relative alle funzionalità open source PostgreSQL non supportate nei database dialetto PostgreSQL.
- Sono disponibili alcune tabelle disponibili con Spanner ma non con PostgreSQL open source, ad esempio
database_options
,index_columns
,indexes
espanner_statistics
.
Filtro delle righe in information_schema
tabelle e viste
Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
(o ai membri di questo ruolo) possono vedere tutte le righe in tutte le tabelle e le viste information_schema
. Per altre entità, Spanner filtra le righe in base al ruolo attuale del database. Le descrizioni delle tabelle e delle viste nelle sezioni seguenti indicano in che modo Spanner filtra le righe per ogni tabella e vista.
Tabelle in information_schema
per database dialetti PostgreSQL
Le tabelle e le viste in information_schema
sono compatibili con le tabelle
e le viste in information_schema
di PostgreSQL open source.
Le seguenti sezioni descrivono le tabelle e le viste in information_schema
per i database dialetto PostgreSQL.
applicable_roles
Questa vista con filtri a righe elenca tutte le appartenenze ai ruoli concesse in modo esplicito a tutti i ruoli del database. Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono vedere solo le appartenenze ai ruoli concesse al ruolo attuale del database o a un ruolo di cui è membro il ruolo attuale del database.
Poiché tutti i ruoli del database sono membri del ruolo pubblico, nei risultati omettono i record relativi all'appartenenza implicita al ruolo pubblico.
Nome colonna | Tipo | Description |
---|---|---|
grantee |
character varying |
Il nome del ruolo del database a cui viene concessa l'appartenenza. |
role_name |
character varying |
Il nome del ruolo del database padre in cui viene concessa questa appartenenza. |
is_grantable |
character varying |
Non utilizzato. Sempre NO . |
change_stream_columns
Questa vista con filtri di righe contiene informazioni sulle colonne della tabella e sui flussi di modifiche che le monitorano. Ogni riga descrive un flusso di modifiche e una colonna. Se una modifica in tempo reale monitora un'intera tabella, le colonne al suo interno non vengono mostrate in questa visualizzazione.
Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono visualizzare solo le righe per modifiche in tempo reale in cui è concesso il privilegio SELECT
al ruolo di database attuale, ai ruoli di cui l'attuale ruolo del database è membro o a public
.
Nome colonna | Tipo | Descrizione |
---|---|---|
change_stream_catalog |
character varying |
Il nome del database. |
change_stream_schema |
character varying |
Il nome dello schema del flusso di modifiche. Per i database dialetti PostgreSQL, il valore predefinito è public . |
change_stream_name |
character varying |
Il nome della modifica in tempo reale. |
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema della tabella. Per i database dialetti PostgreSQL, il valore predefinito è public . |
table_name |
character varying |
Il nome della tabella a cui fa riferimento questa riga. |
column_name |
character varying |
Il nome della colonna a cui fa riferimento questa riga. |
change_stream_options
Questa visualizzazione con filtri a righe contiene le opzioni di configurazione per le modifiche in tempo reale.
Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono visualizzare solo le opzioni per modifiche in tempo reale in cui è concesso il privilegio SELECT
al ruolo di database attuale, ai ruoli di cui l'attuale ruolo del database è membro o a public
.
Nome colonna | Tipo | Descrizione |
---|---|---|
change_stream_catalog |
character varying |
Il nome del database. |
change_stream_schema |
character varying |
Il nome dello schema del flusso di modifiche. Per i database dialetti PostgreSQL, il valore predefinito è public . |
change_stream_name |
character varying |
Il nome della modifica in tempo reale. |
option_name |
character varying |
Il nome dell'opzione di modifiche in tempo reale. |
option_type |
character varying |
Il tipo di dati dell'opzione di modifiche in tempo reale. |
option_value |
character varying |
Il valore dell'opzione di modifiche in tempo reale. |
change_stream_privileges
In questa visualizzazione con filtri di righe sono elencati tutti i privilegi granulari di controllo dell'accesso dell'accesso concessi in tutti i flussi di modifiche a qualsiasi ruolo del database, tra cui public
. Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono vedere solo i privilegi concessi sui modifiche in tempo reale al ruolo di database attuale, ai ruoli di cui il ruolo attuale del database è membro o a public
.
Nome colonna | Tipo | Description |
---|---|---|
grantor |
character varying |
Non utilizzato. Sempre NULL . |
grantee |
character varying |
Il nome del ruolo del database a cui viene concesso questo privilegio. |
change_stream_catalog |
character varying |
Il nome del database. |
change_stream_schema |
character varying |
Il nome dello schema che contiene il flusso di modifiche.
Il valore predefinito è public per i database dialetti PostgreSQL. |
change_stream_name |
character varying |
Il nome della modifica in tempo reale. |
privilege_type |
character varying |
Il tipo di privilegio (solo SELECT ). |
is_grantable |
character varying |
Non utilizzato. Sempre NO . |
change_stream_tables
Questa vista con filtri di righe contiene informazioni sulle tabelle e sui flussi di modifiche che le monitorano. Ogni riga descrive una tabella e un flusso di modifiche. Le entità
che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato
concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di quel
ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono visualizzare solo le righe per modifiche in tempo reale in cui è concesso il privilegio SELECT
al ruolo del database attuale, ai ruoli di cui l'attuale ruolo del database è membro o a public
.
I dati in change_stream_tables
non includono le relazioni implicite tra tabelle e modifiche in tempo reale che monitorano l'intero database.
Nome colonna | Tipo | Descrizione |
---|---|---|
change_stream_catalog |
character varying |
Il nome del database. |
change_stream_schema |
character varying |
Il nome dello schema del flusso di modifiche. Per i database dialetti PostgreSQL, il valore predefinito è public . |
change_stream_name |
character varying |
Il nome del flusso di modifiche a cui fa riferimento questa riga. |
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema della tabella. Per i database dialetti PostgreSQL, il valore predefinito è public . |
table_name |
character varying |
Il nome della tabella a cui fa riferimento questa riga. |
all_columns |
character varying |
YES se il flusso di modifiche di questa riga monitora l'intera tabella a cui fa riferimento la riga. Altrimenti, NO . In base allo
standard SQL, la stringa è YES o NO ,
anziché un valore booleano. |
change_streams
Questa vista con filtri a righe elenca tutti i modifiche in tempo reale di un database e note che monitorano l'intero database rispetto a tabelle o colonne specifiche. Le entità
che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato
concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di quel
ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono visualizzare solo i flussi di modifiche per i quali è concesso il privilegio di controllo dell'accesso dell'accesso granulare SELECT
al ruolo del database attuale, ai ruoli di cui l'attuale ruolo del database è membro o a public
.
Nome colonna | Tipo | Descrizione |
---|---|---|
change_stream_catalog |
character varying |
Il nome del database. |
change_stream_schema |
character varying |
Il nome dello schema di questa modifica in tempo reale. Per i database dialetti PostgreSQL, il valore predefinito è public .
|
change_stream_name |
character varying |
Il nome della modifica in tempo reale. |
all |
character varying |
YES se questo flusso di modifiche monitora l'intero database.
NO se questa modifica in tempo reale monitora tabelle o colonne specifiche.
In base allo standard SQL, la stringa è YES o NO , anziché un valore booleano. |
check_constraints
La vista check_constraints
contiene una riga per ogni vincolo di controllo definito dalla parola chiave CHECK
o NOT NULL
.
Nome colonna | Tipo | Descrizione |
---|---|---|
constraint_catalog |
character varying |
Il nome del database. |
constraint_schema |
character varying |
Il nome dello schema del vincolo. Il valore predefinito è public per i database dialetti PostgreSQL. |
constraint_name |
character varying |
Il nome del vincolo. Se il nome del vincolo non è specificato esplicitamente nello schema, viene utilizzato il nome generato automaticamente. |
check_clause |
character varying |
Espressione del vincolo di controllo. |
spanner_state |
character varying |
Lo stato attuale del vincolo di controllo. Gli stati possibili sono i seguenti:
|
column_column_usage
Questa visualizzazione elenca tutte le colonne generate che dipendono da un'altra colonna di base nella stessa tabella.
Nome colonna | Tipo | Descrizione |
---|---|---|
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema che contiene la tabella. Il nome è public per lo schema predefinito e non vuoto per gli altri schemi (ad esempio, lo stesso information_schema ). Questa colonna non è mai null. |
table_name |
character varying |
Il nome della tabella che contiene le colonne generate. |
column_name |
character varying |
Il nome della colonna di base da cui dipende la colonna generata. |
dependent_column |
character varying |
Il nome della colonna generata. |
column_options
Questa visualizzazione elenca tutte le opzioni definite per le colonne della tabella di riferimento di un vincolo di chiave esterna. La vista contiene solo le colonne nella tabella di riferimento a cui l'utente corrente ha accesso (ovvero il proprietario o i privilegi concessi).
Nome colonna | Tipo | Descrizione |
---|---|---|
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema che contiene la tabella esterna. Il nome è public per lo schema predefinito e non è vuoto per gli altri schemi (ad esempio, lo stesso information_schema ). Questa colonna non è mai null. |
table_name |
character varying |
Il nome della tabella esterna. |
column_name |
character varying |
Il nome della colonna. |
option_name |
character varying |
Un identificatore SQL che identifica in modo univoco l'opzione. Questo identificatore è la chiave della clausola OPTIONS nel DDL.
|
option_value |
character varying |
Un valore letterale SQL che descrive il valore di questa opzione. Il valore di questa colonna è analizzabile come parte di una query. |
option_type |
character varying |
Un nome del tipo di dati che corrisponde al tipo di questo valore dell'opzione. |
column_privileges
In questa vista con filtri a righe sono elencati tutti i privilegi granulari di controllo dell'accesso dell'accesso concessi su tutte le colonne a qualsiasi ruolo del database, tra cui public
. Le entità che dispongono di autorizzazioni a livello di database IAM e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono visualizzare solo i privilegi concessi sulle colonne al ruolo attuale del database, ai ruoli di cui l'attuale ruolo del database è membro o a public
.
La vista include i privilegi SELECT
, INSERT
e UPDATE
che la colonna eredita dalla tabella o dalla vista che la contiene.
Nome colonna | Tipo | Description |
---|---|---|
grantor |
character varying |
Non utilizzato. Sempre NULL . |
grantee |
character varying |
Il nome del ruolo del database a cui viene concesso questo privilegio. |
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema che contiene la tabella o la vista. Il valore predefinito è public per i database dialetto PostgreSQL. |
table_name |
character varying |
Il nome della tabella o della vista che contiene la colonna. |
column_name |
character varying |
Il nome della colonna. |
privilege_type |
character varying |
Il tipo di privilegio (SELECT ,
INSERT o UPDATE ). |
is_grantable |
character varying |
Non utilizzato. Sempre NO . |
columns
Questa vista con filtri di righe fornisce informazioni su tutte le colonne della tabella e
visualizzare le colonne nel database. Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono visualizzare solo le colonne a cui sono stati concessi privilegi di controllo
granulare degli accessi (o i privilegi SELECT
, INSERT
o UPDATE
concessi nelle tabelle contenenti) al ruolo attuale del database, ai ruoli di cui l'attuale ruolo del database è membro o a public
.
Nome colonna | Tipo | Descrizione |
---|---|---|
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema che contiene la tabella. Il nome è public per lo schema predefinito e non è vuoto per gli altri schemi (ad esempio, lo stesso information_schema ). Questa colonna non è mai null. |
table_name |
character varying |
Il nome della tabella |
column_name |
character varying |
Il nome della colonna |
ordinal_position |
BIGINT |
La posizione ordinale della colonna nella tabella, che inizia con il valore 1 |
column_default |
character varying |
Una rappresentazione stringa dell'espressione PostgreSQL open source del valore predefinito della colonna, ad esempio '9'::bigint .
|
is_nullable |
character varying |
Una stringa che indica se la colonna supporta valori null. In
conformità allo standard SQL, la stringa è YES o
NO , anziché un valore booleano. |
data_type |
character varying |
Il tipo di dati della colonna. Il valore è uno dei seguenti:
|
character_maximum_length |
BIGINT |
La lunghezza massima dichiarata per i tipi di dati di caratteri e stringhe di bit. Se
non è stata specificata una lunghezza massima, il valore è NULL . Se il tipo di dati della colonna non è una stringa di caratteri o di bit, il valore è NULL . |
character_octet_length |
BIGINT |
Non utilizzato. Il valore è sempre NULL . |
numeric_precision |
BIGINT |
La precisione del tipo di dati numerici della colonna corrente.
Per double precision , il valore è 53. Per bigint , il valore è 64.
Per tutti gli altri tipi di dati, il valore è NULL . |
numeric_precision_radix |
BIGINT |
La base (unità) della precisione per i tipi numerici. Attualmente sono supportati solo due valori:
NULL . |
numeric_scale |
BIGINT |
Contiene la scala del tipo di colonna numerica, ovvero il numero di unità base di precisione dopo il punto radix. Per bigint , il
valore è 0.
Per tutti gli altri tipi di dati, il valore è NULL . |
datetime_precision |
BIGINT |
Non utilizzato. Il valore è sempre NULL . |
interval_type |
character varying |
Non utilizzato. Il valore è sempre NULL . |
interval_precision |
BIGINT |
Non utilizzato. Il valore è sempre NULL . |
character_set_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
character_set_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
character_set_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
collation_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
collation_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
collation_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
domain_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
domain_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
domain_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
udt_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
udt_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
udt_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
scope_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
scope_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
scope_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
maximum_cardinality |
BIGINT |
Non utilizzato. Il valore è sempre NULL . |
dtd_identifier |
character varying |
Non utilizzato. Il valore è sempre NULL . |
is_self_referencing |
character varying |
Non utilizzato. Il valore è sempre NULL . |
is_identity |
character varying |
Non utilizzato. Il valore è sempre NULL . |
identity_generation |
character varying |
Non utilizzato. Il valore è sempre NULL . |
identity_start |
character varying |
Non utilizzato. Il valore è sempre NULL . |
identity_increment |
character varying |
Non utilizzato. Il valore è sempre NULL . |
identity_maximum |
character varying |
Non utilizzato. Il valore è sempre NULL . |
identity_minimum |
character varying |
Non utilizzato. Il valore è sempre NULL . |
identity_cycle |
character varying |
Non utilizzato. Il valore è sempre NULL . |
is_generated |
character varying |
Una stringa che indica se la colonna è stata generata. La stringa è
ALWAYS per una colonna generata o NEVER
per una colonna non generata. |
generation_expression |
character varying |
Una stringa che rappresenta l'espressione SQL di una colonna generata oppure NULL se la colonna non è una colonna generata. |
is_updatable |
character varying |
Non utilizzato. Il valore è sempre NULL . |
spanner_type |
character varying |
Una stringa che contiene il tipo di colonna compatibile con DDL. |
is_stored |
character varying |
Una stringa che indica se la colonna generata è archiviata.
La stringa è sempre YES o NO per le colonne generate e NULL per le colonne non generate. |
spanner_state |
character varying |
Lo stato attuale della colonna. Una nuova colonna generata archiviata aggiunta a una tabella esistente potrebbe passare attraverso più stati osservabili dall'utente prima di essere completamente utilizzabile. I valori possibili sono:
|
constraint_column_usage
Questa visualizzazione contiene una riga su ogni colonna utilizzata da un vincolo.
- Per i vincoli
PRIMARY KEY
eCHECK
definiti dalla parola chiaveNOT NULL
, la vista contiene queste colonne. - Per i vincoli
CHECK
creati con la parola chiaveCHECK
, la visualizzazione include le colonne utilizzate dall'espressione del vincolo di controllo. - Per i vincoli di chiave esterna, la visualizzazione contiene le colonne della tabella di riferimento.
- Per i vincoli
UNIQUE
, la visualizzazione contiene le colonne diKEY_COLUMN_USAGE
.
Nome colonna | Tipo | Descrizione |
---|---|---|
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema che contiene la tabella che contiene la colonna utilizzata dal vincolo. |
table_name |
character varying |
Il nome della tabella che contiene la colonna utilizzata dal vincolo. |
column_name |
character varying |
Il nome della colonna utilizzata dal vincolo. |
constraint_catalog |
character varying |
Il nome del database. |
constraint_schema |
character varying |
Il nome dello schema del vincolo. |
constraint_name |
character varying |
Il nome del vincolo. |
constraint_table_usage
Questa visualizzazione contiene una riga per ogni tabella utilizzata da un vincolo. Per i vincoli FOREIGN
KEY
, le informazioni si riferiscono alle tabelle nella clausola REFERENCES
. Per un vincolo di chiave univoca o primaria, questa visualizzazione identifica semplicemente
la tabella a cui appartiene il vincolo. Controlla che i vincoli e quelli con valore non nullo
non siano inclusi in questa visualizzazione.
Nome colonna | Tipo | Descrizione |
---|---|---|
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema della tabella vincolata. |
table_name |
character varying |
Il nome della tabella utilizzato da un vincolo. |
constraint_catalog |
character varying |
Il nome del database. |
constraint_schema |
character varying |
Il nome dello schema che contiene il vincolo. |
constraint_name |
character varying |
Il nome del vincolo. |
database_options
In questa tabella sono elencate le opzioni impostate nel database.
Nome colonna | Tipo | Descrizione |
---|---|---|
catalog_name |
character varying |
Il nome del database. |
schema_name |
character varying |
Il nome dello schema. Il valore predefinito è public per i database dialetto PostgreSQL. |
option_name |
character varying |
Il nome dell'opzione di database. Questo è il valore di key
nella clausola OPTIONS nel DDL. |
option_type |
character varying |
Il tipo di dati dell'opzione di database. |
option_value |
character varying |
Il valore dell'opzione di database. |
enabled_roles
Questa visualizzazione con filtri di righe elenca i ruoli del database definiti. Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di quel ruolo possono visualizzare tutti i ruoli del database. Tutte le altre entità possono visualizzare solo i ruoli del database a cui è stato concesso l'accesso direttamente o tramite ereditarietà. In questa visualizzazione vengono mostrati anche tutti i ruoli di sistema, escluso public
.
Nome colonna | Tipo | Description |
---|---|---|
role_name |
character varying |
Il nome del ruolo. |
spanner_is_system |
character varying |
YES se il ruolo è un ruolo di sistema. Altrimenti, NO . |
index_columns
Questa visualizzazione elenca le colonne in un indice.
Nome colonna | Tipo | Descrizione |
---|---|---|
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema che contiene l'indice. Il valore predefinito è public . |
table_name |
character varying |
Il nome della tabella associata all'indice. |
index_name |
character varying |
Il nome dell'indice. Le tabelle con una specifica PRIMARY KEY hanno una voce pseudo-indice generata con il nome PRIMARY_KEY . |
index_type |
character varying |
Il tipo di indice. I valori possibili sono PRIMARY_KEY ,
LOCAL o GLOBAL . |
column_name |
character varying |
Il nome della colonna. |
ordinal_position |
BIGINT |
La posizione ordinale della colonna nell'indice (o chiave primaria), che inizia con il valore 1. Questo valore è NULL per le colonne non chiave (ad esempio, le colonne specificate nella clausola INCLUDE di un indice). |
column_ordering |
character varying |
L'ordinamento della colonna. Il valore è ASC o DESC per le colonne chiave e NULL per le colonne non chiave (ad esempio, le colonne specificate nella clausola STORING di un indice). |
is_nullable |
character varying |
Una stringa che indica se la colonna supporta valori null. In conformità
allo standard SQL, la stringa è YES o
NO , anziché un valore booleano. |
spanner_type |
character varying |
Una stringa che contiene il tipo di colonna compatibile con DDL. |
indexes
Questa visualizzazione elenca gli indici in uno schema.
Nome colonna | Tipo | Descrizione |
---|---|---|
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema. Il valore predefinito è public . |
table_name |
character varying |
Il nome della tabella. |
index_name |
character varying |
Il nome dell'indice. Le tabelle create con una clausola PRIMARY KEY hanno una voce di pseudo-indice generata con il nome PRIMARY_KEY , che consente di identificare i campi della chiave primaria. |
index_type |
character varying |
Il tipo di indice. I valori includono PRIMARY_KEY ,
LOCAL o GLOBAL . |
parent_table_name |
character varying |
Gli indici secondari possono essere interlacciati in una tabella padre, come descritto nella sezione Creare un indice secondario. Questa colonna contiene il nome della tabella padre o una stringa vuota se l'indice non ha interleaving. |
is_unique |
character varying |
Indica se le chiavi di indice devono essere univoche. In base allo standard SQL, la stringa è YES o NO , anziché un valore booleano. |
is_null_filtered |
character varying |
Indica se l'indice include voci con valori NULL . In
conformità allo standard SQL, la stringa è YES o
NO , anziché un valore booleano. |
index_state |
character varying |
Lo stato attuale dell'indice. I valori possibili e gli stati che rappresentano sono:
|
spanner_is_managed |
character varying |
Indica se l'indice è gestito da Spanner. Ad esempio, gli indici di supporto secondari per le chiavi esterne sono gestiti da Spanner. La
stringa è YES o NO , anziché un
valore booleano, in base allo standard SQL. |
information_schema_catalog_name
Questa tabella contiene una riga e una colonna contenenti il nome del database.
Nome colonna | Tipo | Descrizione |
---|---|---|
catalog_name |
character varying |
Il nome del database. |
key_column_usage
Questa vista identifica tutte le colonne nel database attuale a cui fanno riferimento un vincolo di chiave primaria, univoco o di chiave esterna. Per informazioni sulle colonne del vincolo CHECK
, consulta la vista check_constraints
.
Nome colonna | Tipo | Descrizione |
---|---|---|
constraint_catalog |
character varying |
Il nome del database. |
constraint_schema |
character varying |
Il nome dello schema del vincolo. Il valore predefinito è public . |
constraint_name |
character varying |
Il nome del vincolo. |
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema che contiene la tabella che contiene la colonna vincolata. Il valore predefinito è public . |
table_name |
character varying |
Il nome della tabella che contiene la colonna limitata da questo vincolo. |
column_name |
character varying |
Il nome della colonna vincolata. |
ordinal_position |
BIGINT |
La posizione ordinale della colonna all'interno della chiave del vincolo, che inizia con il valore 1 . |
position_in_unique_constraint |
BIGINT |
Per i valori FOREIGN KEY , la posizione ordinale della colonna all'interno del vincolo univoco, che inizia con il valore 1 . Questa colonna ha un valore NULL per altri tipi di vincolo. |
parameters
Questa visualizzazione con filtri di righe definisce gli argomenti per ogni funzione di lettura delle modifiche in tempo reale. Ogni riga descrive un argomento per una funzione di lettura del flusso di modifiche.
Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono vedere solo i parametri per le funzioni di lettura delle modifiche in tempo reale per cui è concesso il privilegio di controllo dell'accesso dell'accesso granulare EXECUTE
al ruolo del database attuale, ai ruoli di cui l'attuale ruolo del database è membro o a public
.
Nome colonna | Tipo | Descrizione |
---|---|---|
specific_catalog |
character varying |
Il nome del database. |
specific_schema |
character varying |
Il nome dello schema della routine. Per i database dialetti PostgreSQL, il valore predefinito è public . |
specific_name |
character varying |
Il nome della routine. Identifica in modo univoco la routine anche se il suo nome è sovraccarico. |
ordinal_position |
bigint |
La posizione ordinale del parametro nell'elenco di argomenti della routine, che inizia con il valore 1. |
parameter_mode |
character varying |
Non utilizzato. Sempre NULL . |
is_result |
character varying |
Non utilizzato. Sempre NULL . |
as_locator |
character varying |
Non utilizzato. Sempre NULL . |
parameter_name |
character varying |
Il nome del parametro. |
data_type |
character varying |
Il tipo di dati del parametro. Il valore è uno dei seguenti:
|
character_maximum_length |
bigint |
Non utilizzato. Sempre NULL . |
character_octet_length |
bigint |
Non utilizzato. Il valore è sempre NULL . |
character_set_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
character_set_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
character_set_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
collation_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
collation_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
collation_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
numeric_precision |
bigint |
Non utilizzato. Il valore è sempre NULL . |
numeric_precision_radix |
bigint |
Non utilizzato. Il valore è sempre NULL . |
numeric_scale |
bigint |
Non utilizzato. Il valore è sempre NULL . |
datetime_precision |
bigint |
Non utilizzato. Il valore è sempre NULL . |
interval_type |
character varying |
Non utilizzato. Il valore è sempre NULL . |
interval_precision |
bigint |
Non utilizzato. Il valore è sempre NULL . |
udt_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
udt_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
udt_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
scope_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
scope_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
scope_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
maximum_cardinality |
bigint |
Non utilizzato. Il valore è sempre NULL . |
dtd_identifier |
character varying |
Non utilizzato. Il valore è sempre NULL . |
parameter_default |
character varying |
Non utilizzato. Il valore è sempre NULL . |
referential_constraints
Questa visualizzazione contiene una riga relativa a ogni vincolo FOREIGN KEY
. Puoi vedere solo i vincoli per i quali disponi dell'accesso in scrittura alla tabella di riferimento. Questa vista identifica anche i vincoli PRIMARY KEY
e UNIQUE
nelle tabelle di riferimento che le chiavi esterne utilizzano per l'applicazione dei vincoli e le azioni referenziali.
Nome colonna | Tipo | Descrizione |
---|---|---|
constraint_catalog |
character varying |
Il nome del database. |
constraint_schema |
character varying |
Il nome dello schema che contiene il vincolo di chiave esterna. Il
valore predefinito è public . |
constraint_name |
character varying |
Il nome del vincolo di chiave esterna. |
unique_constraint_catalog |
character varying |
Il nome del database. |
unique_constraint_schema |
character varying |
Il nome dello schema che contiene il vincolo di chiave univoca o primaria a cui fa riferimento il vincolo di chiave esterna. |
unique_constraint_name |
character varying |
Il nome del vincolo di chiave univoca o primaria a cui fa riferimento il vincolo di chiave esterna. |
match_option |
character varying |
Il metodo di corrispondenza utilizzato dal vincolo di chiave esterna. Il valore è sempre NONE .
|
update_rule |
character varying |
La regola di aggiornamento del vincolo di chiave esterna. Questo valore è sempre NO ACTION .
|
delete_rule |
character varying |
La regola di eliminazione del vincolo di chiave esterna. Questo valore è
CASCADE o NO ACTION . |
spanner_state |
character varying |
Lo stato attuale della chiave esterna. Spanner non inizia ad applicare il vincolo finché non vengono creati e sottoposti a backfill gli indici di supporto della chiave esterna. Quando gli indici sono pronti, Spanner inizia ad applicare il vincolo per le nuove transazioni mentre convalida i dati esistenti. I valori possibili e gli stati che rappresentano sono:
|
role_change_stream_grants
In questa vista con filtri di righe sono elencati i privilegi SELECT
concessi per tutti i flussi di modifiche a qualsiasi ruolo del database, tra cui public
. Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono vedere solo i privilegi concessi sui modifiche in tempo reale al ruolo attuale del database e ai ruoli di cui il ruolo attuale del database è membro, escluso public
.
Nome colonna | Tipo | Description |
---|---|---|
grantor |
character varying |
Non utilizzato. Sempre NULL . |
grantee |
character varying |
Il nome del ruolo del database a cui viene concesso questo privilegio. |
change_stream_catalog |
character varying |
Il nome del database. |
change_stream_schema |
character varying |
Il nome dello schema che contiene il flusso di modifiche.
Il valore predefinito è public per i database dialetti PostgreSQL. |
change_stream_name |
character varying |
Il nome della modifica in tempo reale. |
privilege_type |
character varying |
Il tipo di privilegio (solo SELECT ). |
is_grantable |
character varying |
Non utilizzato. Sempre NO . |
role_column_grants
In questa vista con filtri a righe sono elencati tutti i privilegi granulari di controllo dell'accesso dell'accesso concessi su tutte le colonne a qualsiasi ruolo del database, tra cui public
. Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono visualizzare solo i privilegi concessi sulle colonne al ruolo attuale del database e ai ruoli di cui è membro l'attuale ruolo del database, escluso public
.
La vista include i privilegi SELECT
, INSERT
e UPDATE
che la colonna eredita dalla tabella o dalla vista che la contiene.
Nome colonna | Tipo | Description |
---|---|---|
grantor |
character varying |
Non utilizzato. Sempre NULL . |
grantee |
character varying |
Il nome del ruolo del database a cui viene concesso questo privilegio. |
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema che contiene la tabella o la vista. Il valore predefinito è public per i database dialetto PostgreSQL. |
table_name |
character varying |
Il nome della tabella o della vista che contiene la colonna. |
column_name |
character varying |
Il nome della colonna. |
privilege_type |
character varying |
Il tipo di privilegio (SELECT ,
INSERT o UPDATE ). |
is_grantable |
character varying |
Non utilizzato. Sempre NO . |
role_routine_grants
Questa vista con filtri di righe elenca i privilegi EXECUTE
concessi per tutte le funzioni di lettura dei flussi di modifiche a qualsiasi ruolo di database, tra cui public
. Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono vedere solo i privilegi concessi sulle funzioni di lettura di modifiche in tempo reale al ruolo attuale del database e ai ruoli di cui l'attuale ruolo del database è membro, escluso public
.
Nome colonna | Tipo | Descrizione |
---|---|---|
grantor
|
character varying
|
Non utilizzato. Sempre NULL . |
grantee
|
character varying
|
Il nome del ruolo a cui è stato concesso il privilegio. |
specific_catalog
|
character varying
|
Il nome del database. |
specific_schema
|
character varying
|
Il nome dello schema della routine. Per i database dialetti PostgreSQL, il valore predefinito è public . |
specific_name
|
character varying
|
Il nome della routine. Identifica in modo univoco la routine anche se il suo nome è sovraccarico. |
routine_catalog
|
character varying
|
Il nome del database. |
routine_schema
|
character varying
|
Il nome dello schema della routine. Il valore predefinito è public per i database dialetti PostgreSQL. |
routine_name
|
character varying
|
Il nome della routine. (potrebbe essere duplicato in caso di sovraccarico). |
privilege_type
|
character varying
|
Il tipo di privilegio concesso. Sempre EXECUTE . |
is_grantable
|
character varying
|
Non utilizzato. Sempre NO . |
role_table_grants
In questa visualizzazione con filtri di righe sono elencati tutti i privilegi granulari di controllo dell'accesso dell'accesso concessi a tutte le tabelle e le viste a qualsiasi ruolo del database, tra cui public
. Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono vedere solo i privilegi concessi su tabelle e viste al ruolo attuale del database e ai ruoli di cui l'attuale ruolo del database è membro, escluso public
.
Nome colonna | Tipo | Description |
---|---|---|
grantor |
character varying |
Non utilizzato. Sempre NULL . |
grantee |
character varying |
Il nome del ruolo del database a cui viene concesso questo privilegio. |
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema che contiene la tabella o la vista. Il valore predefinito è public per i database dialetti PostgreSQL. |
table_name |
character varying |
Il nome della tabella o della vista. |
privilege_type |
character varying |
Il tipo di privilegio (SELECT , INSERT , UPDATE o DELETE ). |
is_grantable |
character varying |
Non utilizzato. Sempre NO . |
with_hierarchy |
character varying |
Non utilizzato. Sempre NULL . |
routine_options
Questa vista con filtri a righe contiene una riga per ogni opzione per ogni funzione di lettura delle modifiche in tempo reale definita.
Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono vedere solo le opzioni per le funzioni di lettura delle modifiche in cui è concesso il privilegio di controllo dell'accesso granulare EXECUTE
al ruolo del database attuale, ai ruoli di cui l'attuale ruolo del database è membro o a public
.
Nome colonna | Tipo | Descrizione |
---|---|---|
specific_catalog
|
character varying
|
Il nome del database. |
specific_schema
|
character varying
|
Il nome dello schema della routine. Il valore predefinito è public per i database dialetti PostgreSQL. |
specific_name
|
character varying
|
Il nome della routine. Identifica in modo univoco la routine anche se il suo nome è sovraccarico. |
option_name
|
character varying
|
Il nome dell'opzione. |
option_type
|
character varying
|
Il tipo di dati dell'opzione. Il valore è uno dei seguenti:
|
option_value
|
character varying
|
Il valore dell'opzione. |
routine_privileges
In questa visualizzazione con filtri di righe sono elencati tutti i privilegi granulari di controllo dell'accesso dell'accesso concessi per tutte le funzioni di lettura dei flussi di modifiche a qualsiasi ruolo del database, tra cui public
. Le entità
che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato
concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo
ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono vedere solo i privilegi concessi sulle funzioni di lettura delle modifiche in tempo reale al ruolo attuale del database, ai ruoli di cui l'attuale ruolo del database è membro o a public
.
Nome colonna | Tipo | Descrizione |
---|---|---|
grantor
|
character varying
|
Non utilizzato. Sempre NULL . |
grantee
|
character varying
|
Il nome del ruolo a cui è stato concesso il privilegio. |
specific_catalog
|
character varying
|
Il nome del database. |
specific_schema
|
character varying
|
Il nome dello schema della routine. Per i database dialetti PostgreSQL, il valore predefinito è public . |
specific_name
|
character varying
|
Il nome della routine. Identifica in modo univoco la routine anche se il suo nome è sovraccarico. |
routine_catalog
|
character varying
|
Il nome del database. |
routine_schema
|
character varying
|
Il nome dello schema della routine. Il valore predefinito è public . |
routine_name
|
character varying
|
Il nome della routine. (potrebbe essere duplicato in caso di sovraccarico). |
privilege_type
|
character varying
|
Il tipo di privilegio concesso. |
is_grantable
|
character varying
|
Non utilizzato. Sempre NO . |
routines
Questa vista con filtri a righe elenca tutte le funzioni di lettura delle modifiche in tempo reale di un database.
Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono visualizzare solo le funzioni di lettura del flusso di modifiche per le quali è concesso il privilegio di controllo dell'accesso granulare EXECUTE
all'attuale ruolo del database, ai ruoli di cui l'attuale ruolo del database è membro o a public
.
Nome colonna | Tipo | Descrizione |
---|---|---|
specific_catalog |
character varying |
Il nome del database. |
specific_schema |
character varying |
Il nome dello schema della routine. Il valore predefinito è public per i database dialetti PostgreSQL. |
specific_name |
character varying |
Il nome della routine. Identifica in modo univoco la routine anche se il suo nome è sovraccarico. |
routine_catalog |
character varying |
Il nome del database. |
routine_schema |
character varying |
Il nome dello schema della routine. |
routine_name |
character varying |
Il nome della routine. (potrebbe essere duplicato in caso di sovraccarico). |
routine_type |
character varying |
Il tipo di routine (FUNCTION o
PROCEDURE ). Sempre FUNCTION |
module_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
module_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
module_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
udt_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
udt_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
udt_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
data_type |
character varying |
Il tipo restituito della routine. Il valore è uno dei seguenti:
|
character_maximum_length |
bigint |
Non utilizzato. Il valore è sempre NULL . |
character_octet_length |
bigint |
Non utilizzato. Il valore è sempre NULL . |
character_set_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
character_set_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
character_set_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
collation_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
collation_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
collation_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
numeric_precision /td>
| bigint |
Non utilizzato. Il valore è sempre NULL . |
numeric_precision_radix |
bigint |
Non utilizzato. Il valore è sempre NULL . |
numeric_scale |
bigint |
Non utilizzato. Il valore è sempre NULL . |
datetime_precision |
bigint |
Non utilizzato. Il valore è sempre NULL . |
interval_type |
character varying |
Non utilizzato. Il valore è sempre NULL . |
interval_precision |
bigint |
Non utilizzato. Il valore è sempre NULL . |
type_udt_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
type_udt_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
type_udt_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
scope_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
scope_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
scope_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
maximum_cardinality |
bigint |
Non utilizzato. Il valore è sempre NULL . |
dtd_identifier |
character varying |
Non utilizzato. Il valore è sempre NULL . |
routine_body |
character varying |
Il tipo di corpo della routine (SQL o EXTERNAL ). |
routine_definition |
character varying |
La definizione dell'SQL routine_body , altrimenti vuota. |
external_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
external_language |
character varying |
Non utilizzato. Il valore è sempre NULL . |
parameter_style |
character varying |
Non utilizzato. Il valore è sempre NULL . |
is_deterministic |
character varying |
Non utilizzato. Il valore è sempre NULL . |
sql_data_access |
character varying |
Non utilizzato. Il valore è sempre NULL . |
is_null_call |
character varying |
Non utilizzato. Il valore è sempre NULL . |
sql_path |
character varying |
Non utilizzato. Il valore è sempre NULL . |
schema_level_routine |
character varying |
Non utilizzato. Il valore è sempre NULL . |
max_dynamic_result_sets |
character varying |
Non utilizzato. Il valore è sempre NULL . |
is_user_defined_cast |
character varying |
Non utilizzato. Il valore è sempre NULL . |
is_implicitly_invocable |
character varying |
Non utilizzato. Il valore è sempre NULL . |
security_type |
character varying |
Il tipo di sicurezza della routine. Al momento solo INVOKER . |
to_sql_specific_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
to_sql_specific_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
to_sql_specific_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
as_locator |
character varying |
Non utilizzato. Il valore è sempre NULL . |
created |
timestamp with time zone |
Non utilizzato. Il valore è sempre NULL . |
last_altered |
timestamp with time zone |
Non utilizzato. Il valore è sempre NULL . |
new_savepoint_level |
character varying |
Non utilizzato. Il valore è sempre NULL . |
is_udt_dependent |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_from_data_type |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_as_locator |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_char_max_length |
bigint |
Non utilizzato. Il valore è sempre NULL . |
result_cast_char_octet_length |
bigint |
Non utilizzato. Il valore è sempre NULL . |
result_cast_char_set_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_char_set_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_char_set_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_collation_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_collation_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_collation_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_numeric_precision |
bigint |
Non utilizzato. Il valore è sempre NULL . |
result_cast_numeric_precision_radix |
bigint |
Non utilizzato. Il valore è sempre NULL . |
result_cast_numeric_scale |
bigint |
Non utilizzato. Il valore è sempre NULL . |
result_cast_datetime_precision |
bigint |
Non utilizzato. Il valore è sempre NULL . |
result_cast_interval_type |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_interval_precision |
bigint |
Non utilizzato. Il valore è sempre NULL . |
result_cast_type_udt_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_type_udt_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_type_udt_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_scope_catalog |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_scope_schema |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_scope_name |
character varying |
Non utilizzato. Il valore è sempre NULL . |
result_cast_maximum_cardinality |
bigint |
Non utilizzato. Il valore è sempre NULL . |
result_cast_dtd_identifier |
character varying |
Non utilizzato. Il valore è sempre NULL . |
schemata
La vista information_schema.schemata
contiene una riga per ogni schema nel
database corrente. Gli schemi includono lo schema di informazioni e uno schema predefinito denominato public
.
Nome colonna | Tipo | Descrizione |
---|---|---|
catalog_name |
character varying |
Il nome del database. |
schema_name |
character varying |
Il nome dello schema. Il valore è impostato su public per lo schema predefinito e non vuoto per gli schemi denominati. |
schema_owner |
character varying |
Il nome del proprietario dello schema. |
default_character_set_catalog |
character varying |
Non utilizzato. |
default_character_set_schema |
character varying |
Non utilizzato. |
default_character_set_name |
character varying |
Non utilizzato. |
sql_path |
character varying |
Non utilizzato. |
effective_timestamp |
timestamp with timezone |
Il timestamp in cui sono entrati in vigore tutti i dati in questo schema. Attualmente viene utilizzato solo per lo schema predefinito. |
sequences
La vista information_schema.sequences
contiene i metadati sequences
.
Nome colonna | Tipo | Descrizione |
---|---|---|
sequence_catalog |
character varying |
Il nome del database. |
sequence_schema |
character varying |
Il nome dello schema della sequenza. Il valore predefinito è public per un database dialetto PostgreSQL. |
sequence_name |
character varying |
Il nome della sequenza. |
data_type |
character varying |
La sequenza supporta solo int8 . |
numeric_precision |
bigint |
Attualmente non in uso. Il valore è sempre "NULL". |
numeric_precision_radix |
bigint |
Attualmente non in uso. Il valore è sempre "NULL". |
numeric_scale |
bigint |
Attualmente non in uso. Il valore è sempre "NULL". |
start_value |
bigint |
Attualmente non in uso. Il valore è sempre "NULL". |
minimum_value |
bigint |
Attualmente non in uso. Il valore è sempre "NULL". |
maximum_value |
bigint |
Attualmente non in uso. Il valore è sempre "NULL". |
increment |
bigint |
Attualmente non in uso. Il valore è sempre "NULL". |
cycle_option |
character varying |
L'unica opzione accettata da sequence è no .
|
sequence_kind |
character varying |
Il tipo di sequenza. bit_reversed_positive è l'unico
valore accettabile. |
counter_start_value |
bigint |
Valore iniziale del contatore di sequenze. |
skip_range_min |
bigint |
Il valore minimo nell'intervallo ignorato. Se non è impostato, questo valore è NULL . |
skip_range_max |
bigint |
Il valore massimo nell'intervallo ignorato. Se non è impostato, questo valore è NULL . |
spanner_statistics
In questa tabella sono elencati i pacchetti di statistiche disponibili per lo strumento di ottimizzazione delle query.
Nome colonna | Tipo | Descrizione |
---|---|---|
catalog_name |
character varying |
Il nome del database. |
schema_name |
character varying |
Il nome dello schema. Il valore predefinito dello schema è public . |
package_name |
character varying |
Il nome del pacchetto di statistiche. |
allow_gc |
character varying |
Indica se il pacchetto di statistiche è esente dalla garbage collection. In
conformità allo standard SQL, la stringa è YES o
NO , anziché un valore booleano. Questo attributo deve essere impostato su NO prima di poter fare riferimento al pacchetto di statistiche in un suggerimento o tramite l'API client.
|
table_constraints
Questa visualizzazione contiene tutti i vincoli appartenenti alle tabelle a cui ha accesso l'utente corrente (diversi da SELECT
).
Nome colonna | Tipo | Descrizione |
---|---|---|
constraint_catalog |
character varying |
Il nome del database. |
constraint_schema |
character varying |
Il nome dello schema che contiene il vincolo. |
constraint_name |
character varying |
Il nome del vincolo. |
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema che contiene la tabella associata al vincolo. |
table_name |
character varying |
Il nome della tabella. |
constraint_type |
character varying |
Il tipo di vincolo. I valori possibili sono:
|
is_deferrable |
character varying |
Il valore è sempre NO . |
initially_deferred |
character varying |
Il valore è sempre NO . |
enforced |
character varying |
Indica se il vincolo viene applicato. Se un vincolo viene applicato, dopo aver raggiunto un determinato stato, viene convalidato sia in fase di scrittura sia da uno strumento di verifica dell'integrità in background. In base allo standard SQL, la stringa è YES o NO , anziché un valore booleano. |
table_privileges
In questa visualizzazione con filtri di righe sono elencati tutti i privilegi granulari di controllo dell'accesso dell'accesso concessi a tutte le tabelle e le viste a qualsiasi ruolo del database, tra cui public
. Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono vedere solo i privilegi concessi su tabelle e viste al ruolo di database attuale, ai ruoli di cui il ruolo attuale del database è membro o a public
.
Nome colonna | Tipo | Description |
---|---|---|
grantor |
character varying |
Non utilizzato. Sempre NULL . |
grantee |
character varying |
Il nome del ruolo del database a cui viene concesso questo privilegio. |
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema che contiene la tabella o la vista.
Il valore predefinito è public per i database dialetti PostgreSQL. |
table_name |
character varying |
Il nome della tabella o della vista. |
privilege_type |
character varying |
Il tipo di privilegio (SELECT , INSERT , UPDATE o DELETE ). |
is_grantable |
character varying |
Non utilizzato. Sempre NO . |
that have_hierarchy |
character varying |
Non utilizzato. Sempre NULL . |
tables
Questa vista con filtri a righe elenca tutte le tabelle e la vista presenti nel database attuale.
Le entità che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di questo ruolo possono vedere tutte le tabelle e le viste. Tutte le altre entità possono vedere solo le tabelle
che soddisfano uno dei seguenti requisiti:
-
Nella tabella vengono concessi i privilegi granulari di controllo dell'accesso dell'accesso
SELECT
,INSERT
,UPDATE
oDELETE
al ruolo attuale del database, ai ruoli di cui è membro l'attuale ruolo del database o apublic
. - I privilegi
SELECT
,INSERT
oUPDATE
vengono concessi in qualsiasi colonna della tabella al ruolo del database attuale, ai ruoli di cui è membro l'attuale ruolo del database o apublic
.
Nome colonna | Tipo | Descrizione |
---|---|---|
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema che contiene la tabella o la vista. |
table_name |
character varying |
Il nome della tabella, della vista o del sinonimo. |
table_type |
character varying |
Il tipo di tabella. I valori possibili sono "BASE TABLE", "VIEW" o "SYNONYM". |
self_referencing_column_name |
character varying |
Non utilizzato. |
reference_generation |
character varying |
Non utilizzato. |
user_defined_type_catalog |
character varying |
Non utilizzato. |
user_defined_type_schema |
character varying |
Non utilizzato. |
user_defined_type_name |
character varying |
Non utilizzato. |
is_insertable_into |
character varying |
Non utilizzato. |
is_typed |
character varying |
Non utilizzato. |
commit_action |
character varying |
Non utilizzato. |
parent_table_name |
character varying |
Il nome della tabella padre se questa tabella è con interleaving, oppure
NULL . |
on_delete_action |
character varying |
Il valore è impostato su CASCADE o NO ACTION per le tabelle con interleaving e su NULL in caso contrario. Per ulteriori informazioni, consulta le istruzioni della TABELLA. |
spanner_state |
character varying |
L'attuale stato di creazione della tabella. Una tabella può attraversare più stati durante la creazione, se sono coinvolte operazioni collettive, ad esempio quando viene creata con una chiave esterna che richiede il backfill dell'indice di riferimento. Gli stati possibili sono:
|
interleave_type |
character varying |
Indica se esiste una relazione padre-figlio tra questa tabella e la tabella in cui è con interleaving. I valori possibili sono:
|
row_deletion_policy_expression |
character varying |
Una stringa contenente il testo dell'espressione che definisce ROW
DELETION POLICY . |
table_synonyms
In questa tabella sono elencate le informazioni sui sinonimi della tabella.
Nome colonna | Tipo | Descrizione |
---|---|---|
CATALOG |
STRING |
Nome del catalogo contenente la tabella. |
SCHEMA |
STRING |
Nome dello schema contenente la tabella. |
TABLE_NAME |
STRING |
Nome della tabella. |
SYNONYM_CATALOG |
STRING |
Il nome del catalogo per il sinonimo. |
SYNONYM_SCHEMA |
STRING |
Il nome dello schema per il sinonimo. |
SYNONYM_TABLE_NAME |
STRING |
Il nome della tabella per il sinonimo. |
views
Questa vista con filtri per righe elenca tutte le viste nel database attuale. Le entità
che dispongono di autorizzazioni IAM a livello di database e le entità a cui è stato
concesso l'accesso al ruolo di sistema spanner_info_reader
o ai membri di quel
ruolo possono vedere tutte le viste. Tutte le altre entità possono vedere solo le viste per cui è stato concesso il privilegio di controllo dell'accesso granulare
SELECT
al ruolo di database attuale,
ai ruoli di cui l'attuale ruolo del database è membro o a public
.
Nome colonna | Tipo | Descrizione |
---|---|---|
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema. Il valore predefinito è public . |
table_name |
character varying |
Il nome della vista. |
view_definition |
character varying |
Il testo SQL della query che definisce la vista. |
check_option |
character varying |
Non utilizzato. |
is_updatable |
character varying |
Non utilizzato. |
is_insertable_into |
character varying |
Non utilizzato. |
is_trigger_updatable |
character varying |
Non utilizzato. |
is_trigger_deletable |
character varying |
Non utilizzato. |
is_trigger_insertable_into |
character varying |
Non utilizzato. |
security_type |
character varying |
Il tipo di sicurezza della vista. INVOKER o
DEFINER .
Per saperne di più, consulta Informazioni sulle viste. |
Esempi
Restituisci informazioni su ogni tabella nello schema predefinito:
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
Restituisce il nome di tutte le tabelle e le visualizzazioni in information_schema
per i database dialetto di PostgreSQL:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = "information_schema"
Restituisci informazioni sulle colonne della tabella utente my_table
:
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
Restituisci informazioni su ogni indice nello schema predefinito nel database corrente:
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
Restituisci tutte le colonne che utilizzano opzioni diverse da quella predefinita:
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
Restituisce le opzioni di database correlate all'ottimizzatore correnti:
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')
Restituisci tutti i pacchetti di statistiche disponibili:
SELECT *
FROM information_schema.spanner_statistics;
Passaggi successivi
- Scopri gli strumenti di introduzione disponibili per aiutarti a esaminare i problemi del database.