Lo schema di informazioni è uno schema integrato comune a tutti i 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_schema,
table_name
FROM
information_schema.tables
WHERE
table_schema NOT IN ('pg_catalog', 'information_schema', 'SPANNER_SYS')
AND table_type = 'BASE TABLE'
Utilizzo
Le tabelle
information_schemasono 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 sul
information_schemapossono utilizzare limiti di timestamp con inattività forte, limitata o esatta. - Se utilizzi un database con dialetto GoogleSQL, consulta Schema di informazioni per i database con dialetto GoogleSQL.
Differenze rispetto a information_schema per PostgreSQL
Le tabelle in information_schema per i database con dialetto PostgreSQL includono colonne delle tabelle in information_schema per PostgreSQL open source e, in alcuni casi, anche colonne di Spanner. In queste tabelle, le colonne PostgreSQL open source vengono visualizzate per prime e nello stesso ordine di un database PostgreSQL open source, mentre le colonne distinte per Spanner vengono aggiunte successivamente. Le query scritte per la versione PostgreSQL open source di information_schema dovrebbero funzionare senza modifiche quando utilizzi i database con dialetto PostgreSQL in Google Cloud CLI.
Altre differenze significative in information_schema per i database con dialetto PostgreSQL sono:
- Alcune delle colonne della tabella per PostgreSQL open source sono disponibili, ma non vengono compilate nei database con dialetto PostgreSQL.
- I database con dialetto PostgreSQL utilizzano
publicper il nome dello schema predefinito. - I nomi dei vincoli generati automaticamente utilizzano un formato diverso rispetto ai database PostgreSQL open source.
- Le tabelle relative alle funzionalità di PostgreSQL open source non supportate nei database con dialetto PostgreSQL non sono disponibili.
- Sono disponibili alcune tabelle disponibili con Spanner, ma non con PostgreSQL open source, come
database_options,index_columns,indexesespanner_statistics.
Filtro di righe in tabelle e viste information_schema
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 tutte
le righe in tutte le tabelle e viste information_schema. Per le altre entità, Spanner filtra le righe in base al ruolo database corrente. 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 i database con dialetto 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 sezioni seguenti descrivono le tabelle e le viste in information_schema per i database con dialetto PostgreSQL.
applicable_roles
Questa visualizzazione filtrata per riga elenca tutte le appartenenze ai ruoli concesse esplicitamente a tutti i ruoli del database. Le entità con autorizzazioni IAM a livello di database e quelle a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo le appartenenze ai ruoli concesse al ruolo di database corrente o a un ruolo di cui il ruolo di database corrente è membro.
Poiché tutti i ruoli del database sono membri del ruolo pubblico, i risultati omettono i record per l'appartenenza implicita al ruolo pubblico.
| Nome colonna | Tipo | Descrizione |
|---|---|---|
grantee |
character varying |
Il nome del ruolo del database a cui viene concessa l'iscrizione. |
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 visualizzazione filtrata per riga contiene informazioni sulle colonne della tabella e sui flussi di modifiche che le monitorano. Ogni riga descrive un feed delle modifiche in tempo reale e una colonna. Se un flusso di modifiche in tempo reale monitora un'intera tabella, le colonne di quella tabella non vengono visualizzate in questa vista.
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 tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo le righe per i flussi di modifiche in tempo reale per cui il privilegio SELECT è concesso al ruolo di database attuale, ai ruoli di cui il ruolo di database attuale è 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 delle modifiche in tempo reale. Per i database con dialetto PostgreSQL, il valore predefinito è public. |
change_stream_name |
character varying |
Il nome del feed delle modifiche. |
table_catalog |
character varying |
Il nome del database. |
table_schema |
character varying |
Il nome dello schema della tabella. Per i database con dialetto 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 filtrata per riga 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 quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo le opzioni per i flussi di modifiche in tempo reale per cui il privilegio SELECT è concesso al ruolo del database corrente, ai ruoli di cui il ruolo del database corrente è 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 delle modifiche in tempo reale. Per i database con dialetto PostgreSQL, il valore predefinito è public. |
change_stream_name |
character varying |
Il nome del feed delle modifiche. |
option_name |
character varying |
Il nome dell'opzione delle modifiche in tempo reale. |
option_type |
character varying |
Il tipo di dati dell'opzione delle modifiche in tempo reale. |
option_value |
character varying |
Il valore dell'opzione delle modifiche in tempo reale. |
change_stream_privileges
Questa vista filtrata per riga elenca tutti i privilegi di controllo dell'accesso granulare dell'accesso concessi su tutte le modifiche in tempo reale a qualsiasi ruolo del database, incluso public. Le entità che dispongono di autorizzazioni IAM a livello di database e quelle a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo i privilegi concessi sulle modifiche in tempo reale al ruolo del database corrente, ai ruoli di cui il ruolo del database corrente è membro o a public.
| Nome colonna | Tipo | Descrizione |
|---|---|---|
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 feed delle modifiche.
Il valore predefinito è public per i database con dialetto PostgreSQL. |
change_stream_name |
character varying |
Il nome del feed delle modifiche. |
privilege_type |
character varying |
Il tipo di privilegio (solo SELECT). |
is_grantable |
character varying |
Non utilizzato. Sempre NO. |
change_stream_tables
Questa visualizzazione filtrata per riga contiene informazioni sulle tabelle e sulle modifiche in tempo reale che le monitorano. Ogni riga descrive una tabella e un feed delle modifiche in tempo reale. Le entità con 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 tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo le righe per i flussi di modifiche in tempo reale per i quali il privilegio SELECT è concesso al ruolo del database corrente, ai ruoli di cui il ruolo del database corrente è membro o a public.
I dati in change_stream_tables non includono le relazioni implicite tra le tabelle e le 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 delle modifiche in tempo reale. Per i database con dialetto PostgreSQL, il valore predefinito è public. |
change_stream_name |
character varying |
Il nome del feed delle modifiche in tempo reale 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 con dialetto 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 le modifiche in tempo reale di questa riga monitorano l'intera tabella a cui fa riferimento questa riga. In caso contrario, NO. In conformità con lo standard SQL, la stringa è YES o NO, anziché un valore booleano. |
change_streams
Questa visualizzazione filtrata per riga elenca tutte le modifiche in tempo reale di un database e indica quali monitorano l'intero database rispetto a tabelle o colonne specifiche. Le entità con 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 tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo
le modifiche in tempo reale per cui il privilegio di controllo dell'accesso granulare dell'accesso SELECT è concesso al
ruolo del database corrente, ai ruoli di cui il ruolo del database corrente è 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 questo stream di modifiche in tempo reale. Per i database con dialetto PostgreSQL, il valore predefinito è public. |
change_stream_name |
character varying |
Il nome del feed delle modifiche. |
all |
character varying |
YES se questo stream di modifiche in tempo reale monitora l'intero database.
NO se questo stream di modifiche in tempo reale monitora tabelle o colonne specifiche.
In conformità con lo 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 con dialetto 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 |
L'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 vista 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 altri schemi (ad esempio, information_schema stesso). 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 vista elenca tutte le opzioni definite per le colonne della tabella di riferimento di un vincolo di chiave esterna. La vista contiene solo le colonne della tabella di riferimento a cui l'utente corrente ha accesso (in quanto proprietario o in quanto gli sono stati concessi i privilegi).
| 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 altri schemi (ad esempio, information_schema stesso). 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 in 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
Questa vista filtrata per riga elenca tutti i privilegi di controllo dell'accesso granulare dell'accesso concessi su tutte le colonne a qualsiasi ruolo del database, incluso 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 quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo i privilegi concessi sulle colonne al ruolo del database corrente, ai ruoli di cui il ruolo del database corrente è 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 | Descrizione |
|---|---|---|
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 con 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 filtrata per riga fornisce informazioni su tutte le colonne della tabella e della vista nel database. Le entità con autorizzazioni IAM a livello di database e quelle a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo le colonne per le quali sono stati concessi privilegi di controllo dell'accesso granulare dell'accesso (o i privilegi SELECT, INSERT o UPDATE concessi alle tabelle che le contengono) al ruolo di database corrente, ai ruoli di cui il ruolo di database corrente è 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 altri schemi (ad esempio, information_schema stesso). 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, a partire da un valore pari a 1 |
column_default |
character varying |
Una rappresentazione di 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 è nullable. 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 stringhe di caratteri e 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. Sono supportati solo due valori:
NULL. |
numeric_scale |
BIGINT |
Contiene la scala del tipo di colonna numerica, ovvero il numero di unità di base di precisione dopo il punto di base. 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 è 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 o NULL se la colonna non è una colonna generata. |
is_updatable |
character varying |
Non utilizzato. Il valore è sempre NULL. |
spanner_type |
character varying |
Una stringa contenente 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 può passare attraverso più stati osservabili dall'utente prima di essere completamente utilizzabile. I valori possibili sono:
|
on_update_expression |
character varying |
Una rappresentazione di stringa dell'espressione "ON UPDATE" per una colonna. Se la colonna non ha un'espressione "ON UPDATE", il valore è "NULL". |
constraint_column_usage
Questa vista contiene una riga per ogni colonna utilizzata da un vincolo.
- Per i vincoli
PRIMARY KEYeCHECKdefiniti dalla parola chiaveNOT NULL, la vista contiene queste colonne. - Per i vincoli
CHECKcreati con la parola chiaveCHECK, la vista include le colonne utilizzate dall'espressione del vincolo di controllo. - Per i vincoli di chiave esterna, la vista contiene le colonne della tabella di riferimento.
- Per i vincoli
UNIQUE, la vista 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 vista contiene una riga per ogni tabella utilizzata da un vincolo. Per i vincoli FOREIGN
KEY, le informazioni sulla tabella riguardano le tabelle nella clausola REFERENCES. Per un vincolo di chiave primaria o univoca, questa vista identifica la tabella a cui appartiene il vincolo. I vincoli di controllo e i vincoli non nulli non sono 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 utilizzata 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
Questa tabella elenca 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 con dialetto PostgreSQL. |
option_name |
character varying |
Il nome dell'opzione del database. Questo è il valore di key nella clausola OPTIONS in DDL. |
option_type |
character varying |
Il tipo di dati dell'opzione del database. |
option_value |
character varying |
Il valore dell'opzione del database. |
enabled_roles
Questa visualizzazione filtrata per riga elenca i ruoli del database definiti. Le entità con autorizzazioni IAM a livello di database e quelle 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 visualizzati anche tutti i ruoli di sistema, ad eccezione di public.
| Nome colonna | Tipo | Descrizione |
|---|---|---|
role_name |
character varying |
Il nome del ruolo. |
spanner_is_system |
character varying |
YES se il ruolo è un ruolo di sistema. In caso contrario,
NO. |
index_columns
Questa visualizzazione elenca le colonne di 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. Per le tabelle con una specifica PRIMARY KEY viene generata una voce di pseudo-indice 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), a partire da un valore pari a 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 è nullable. In conformità con lo standard SQL, la stringa è YES o NO, anziché un valore booleano. |
spanner_type |
character varying |
Una stringa contenente il tipo di colonna compatibile con DDL. |
indexes
Questa vista 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 intercalati in una tabella principale, come descritto in Creazione di un indice secondario. Questa colonna contiene il nome della tabella principale o una stringa vuota se l'indice non è con interfoliazione. |
is_unique |
character varying |
Indica se le chiavi di indice devono essere univoche. In conformità con lo 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 conformità con lo standard SQL. |
information_schema_catalog_name
Questa tabella contiene una riga e una colonna contenente 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 del database corrente a cui fa riferimento un vincolo univoco, di chiave primaria o di chiave esterna. Per informazioni sulle colonne dei vincoli 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 con vincoli. 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, a partire da un valore di 1. |
position_in_unique_constraint |
BIGINT |
Per FOREIGN KEY, la posizione ordinale della colonna all'interno del vincolo univoco, a partire da un valore di 1. Questa colonna ha un valore NULL per altri tipi di vincoli. |
parameters
Questa visualizzazione filtrata per riga definisce gli argomenti per ogni funzione di lettura definita dall'utente e del stream di modifiche. Ogni riga descrive un argomento per una funzione di lettura dei flussi di modifiche in tempo reale o definita dall'utente.
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 tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo i parametri per le funzioni di lettura definite dall'utente e delle modifiche in tempo reale per le quali il privilegio di controllo dell'accesso granulare dell'accesso EXECUTE è concesso al ruolo del database corrente, ai ruoli di cui il ruolo del database corrente è 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 con dialetto PostgreSQL, il valore predefinito è public. |
specific_name |
character varying |
Il nome della routine. Identifica in modo univoco la routine anche se il suo nome è sovraccaricato. |
ordinal_position |
bigint |
La posizione ordinale del parametro nell'elenco di argomenti della routine, a partire dal 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. |
spanner_type |
character varying |
Il tipo restituito dettagliato della routine. Include il sottotipo se viene restituito un ARRAY. |
placements
Questa tabella elenca i posizionamenti nel database.
| Nome colonna | Tipo | Descrizione |
|---|---|---|
placement_name |
character varying |
Il nome del posizionamento. |
is_default |
character varying |
Una stringa che indica se la colonna è nullable. In conformità allo standard SQL, la stringa è YES o NO, anziché un valore booleano. |
placement-options
Per ogni placement, questa tabella elenca le opzioni impostate sul placement nella clausola OPTIONS dell'istruzione CREATE
PLACEMENT.
| Nome colonna | Tipo | Descrizione |
|---|---|---|
placement_name |
character varying |
Il nome del posizionamento. |
option_name |
character varying |
Il nome dell'opzione di posizionamento. I valori validi per option_name includono:
|
option_type |
character varying |
Il tipo di dati dell'opzione di posizionamento. |
option_value |
character varying |
Il valore dell'opzione di posizionamento. Per instance_partition,
questo è il nome della partizione dell'istanza. Per default_leader,
è il nome della regione leader predefinita. |
locality-group-options
Per ogni gruppo di località, questa tabella elenca il nome e le opzioni impostate sul gruppo di località nella clausola OPTIONS dell'istruzione CREATE LOCALITY
GROUP.
| Nome colonna | Tipo | Descrizione |
|---|---|---|
locality_group_name |
character varying |
Il nome del gruppo di località. |
option_name |
character varying |
Il nome dell'opzione del gruppo di località. Le opzioni valide sono:
|
option_value |
character varying |
Il valore dell'opzione del gruppo di località. Per storage,
questo è ssd o hdd. Per ssd_to_hdd_spill_timespan, questo è il periodo di tempo per cui i dati devono essere archiviati nell'SSD prima di essere spostati nello spazio di archiviazione HDD. Ad esempio, 10d è 10 giorni. Il periodo di tempo minimo che puoi impostare è un'ora. |
referential_constraints
Questa vista contiene una riga per ogni vincolo FOREIGN KEY. Puoi visualizzare 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 sulle tabelle di riferimento utilizzate dalle chiavi esterne 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 della chiave esterna. Questo valore è sempre NO ACTION.
|
delete_rule |
character varying |
La regola di eliminazione del vincolo della chiave esterna. Questo valore è CASCADE, SET NULL o NO ACTION. |
spanner_state |
character varying |
Lo stato attuale della chiave esterna. Spanner non inizia ad applicare il vincolo finché gli indici di supporto della chiave esterna non vengono creati e sottoposti a backfill. Una volta pronti gli indici, 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
Questa vista filtrata per riga elenca i privilegi SELECT concessi su tutte le modifiche in tempo reale a qualsiasi ruolo del database, incluso public. Le entità che dispongono di autorizzazioni IAM a livello di database e quelle a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo i privilegi concessi sui flussi di modifiche in tempo reale al ruolo database attuale e ai ruoli di cui il ruolo database attuale è membro, escluso public.
| Nome colonna | Tipo | Descrizione |
|---|---|---|
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 feed delle modifiche.
Il valore predefinito è public per i database con dialetto PostgreSQL. |
change_stream_name |
character varying |
Il nome del feed delle modifiche. |
privilege_type |
character varying |
Il tipo di privilegio (solo SELECT). |
is_grantable |
character varying |
Non utilizzato. Sempre NO. |
role_column_grants
Questa vista filtrata per riga elenca tutti i privilegi di controllo dell'accesso granulare dell'accesso concessi su tutte le colonne a qualsiasi ruolo del database, incluso public. Le entità con autorizzazioni IAM a livello di database e quelle a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo i privilegi concessi alle colonne per il ruolo database corrente e per i ruoli di cui il ruolo database corrente è membro, 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 | Descrizione |
|---|---|---|
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 con 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 filtrata per riga elenca i privilegi EXECUTE concessi su tutte le funzioni di lettura del flusso di modifiche a qualsiasi ruolo del database, incluso 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 quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo i privilegi concessi alle funzioni di lettura dei flussi di modifiche in tempo reale per il ruolo database attuale e per i ruoli di cui il ruolo database attuale è membro, ad esclusione di 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 con dialetto PostgreSQL, il valore predefinito è public. |
specific_name
|
character varying
|
Il nome della routine. Identifica in modo univoco la routine anche se il suo nome è sovraccaricato. |
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 con dialetto 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
Questa vista filtrata per riga elenca tutti i privilegi di controllo dell'accesso granulare dell'accesso concessi su tutte le tabelle e le viste a qualsiasi ruolo del database, incluso public. Le entità che dispongono di autorizzazioni IAM a livello di database e quelle a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo i privilegi concessi su tabelle e viste al ruolo database corrente e ai ruoli di cui il ruolo database corrente è membro, escluso public.
| Nome colonna | Tipo | Descrizione |
|---|---|---|
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 con dialetto 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 visualizzazione filtrata per riga contiene una riga per ogni opzione per ogni funzione di lettura del flusso di modifiche 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 quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo le opzioni per le funzioni di lettura dei modifiche in tempo reale per le quali il privilegio di controllo dell'accesso granulare dell'accesso è concesso al ruolo del database corrente, ai ruoli di cui il ruolo del database corrente è membro o a public.EXECUTE
| 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 con dialetto PostgreSQL. |
specific_name
|
character varying
|
Il nome della routine. Identifica in modo univoco la routine anche se il suo nome è sovraccaricato. |
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
Questa vista filtrata per riga elenca tutti i privilegi di controllo dell'accesso granulare dell'accesso concessi su tutte le funzioni di lettura dei flussi di modifiche a qualsiasi ruolo del database, incluso 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 quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo i privilegi concessi alle funzioni di lettura dei flussi di modifiche in tempo reale per il ruolo del database corrente, per i ruoli di cui il ruolo del database corrente è membro o per 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 con dialetto PostgreSQL, il valore predefinito è public. |
specific_name
|
character varying
|
Il nome della routine. Identifica in modo univoco la routine anche se il suo nome è sovraccaricato. |
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 visualizzazione filtrata per riga elenca tutte le funzioni di lettura dei flussi di modifiche in tempo reale e definite dall'utente di un database. Le entità con autorizzazioni IAM a livello di database e quelle a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo le funzioni di lettura delle modifiche in tempo reale e definite dall'utente per le quali il privilegio di controllo dell'accesso granulare dell'accesso EXECUTE è concesso al ruolo del database corrente, ai ruoli di cui il ruolo del database corrente è 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 con dialetto PostgreSQL. |
specific_name |
character varying |
Il nome della routine. Identifica in modo univoco la routine anche se il suo nome è sovraccaricato. |
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 |
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 per l'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. È supportato 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. |
spanner_type |
character varying |
Il tipo restituito dettagliato della routine. Include il sottotipo se viene restituito un ARRAY. |
spanner_determinism |
character varying |
Il determinismo della funzione specificato dall'utente (DETERMINISTIC, NOT_DETERMINISTIC_STABLE o NOT_DETERMINISTIC_VOLATILE). Ulteriori informazioni sono disponibili nella descrizione di [provolatile](https://www.postgresql.org/docs/current/catalog-pg-proc.html#:~:text=provolatile). |
schemata
La vista information_schema.schemata contiene una riga per ogni schema nel database corrente. Gli schemi includono lo schema delle 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. Questo 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 tutti i dati di questo schema sono diventati effettivi. 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 con dialetto PostgreSQL. |
sequence_name |
character varying |
Il nome della sequenza. |
data_type |
character varying |
La sequenza supporta solo int8. |
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". |
start_value |
bigint |
Non utilizzato. Il valore è sempre "NULL". |
minimum_value |
bigint |
Non utilizzato. Il valore è sempre "NULL". |
maximum_value |
bigint |
Non utilizzato. Il valore è sempre "NULL". |
increment |
bigint |
Non utilizzato. 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 della sequenza. |
skip_range_min |
bigint |
Il valore minimo nell'intervallo saltato. Se non è impostato, questo valore è NULL. |
skip_range_max |
bigint |
Il valore massimo nell'intervallo saltato. Se non è impostato, questo valore è NULL. |
spanner_statistics
Questa tabella elenca i pacchetti di statistiche dell'ottimizzatore delle query disponibili.
| 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 vista contiene tutti i vincoli appartenenti alle tabelle a cui l'utente corrente ha accesso (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 al momento della scrittura sia da un verificatore di integrità in background. In conformità con lo standard SQL, la stringa è YES o NO, anziché un valore booleano. |
table_privileges
Questa vista filtrata per riga elenca tutti i privilegi di controllo dell'accesso granulare dell'accesso concessi su tutte le tabelle e le viste a qualsiasi ruolo del database, incluso public. Le entità che dispongono di autorizzazioni IAM a livello di database e quelle a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo i privilegi concessi su tabelle e viste al ruolo di database corrente, ai ruoli di cui il ruolo di database corrente è membro o a public.
| Nome colonna | Tipo | Descrizione |
|---|---|---|
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 con dialetto 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 filtrata per riga elenca tutte le tabelle e le viste presenti nel database corrente. 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 tutte le tabelle e le viste. Tutte le altre entità possono visualizzare solo le tabelle che soddisfano uno dei seguenti requisiti:
-
I privilegi di controllo dell'accesso granulare dell'accesso
SELECT,INSERT,UPDATEoDELETEvengono concessi sulla tabella al ruolo del database corrente, ai ruoli di cui il ruolo del database corrente è membro o apublic. - I privilegi
SELECT,INSERToUPDATEvengono concessi su qualsiasi colonna della tabella al ruolo del database corrente, ai ruoli di cui il ruolo del database corrente è membro 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 includono 'tabella di base', '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 principale se questa tabella è intercalata o NULL. |
on_delete_action |
character varying |
Questo valore è impostato su CASCADE o NO ACTION per le tabelle con interleaving e su NULL in caso contrario. Per saperne di più, consulta le istruzioni TABLE. |
spanner_state |
character varying |
Lo stato di creazione attuale della tabella. Una tabella può passare attraverso più stati durante la creazione, se sono coinvolte operazioni collettive, ad esempio quando la tabella viene creata con una chiave esterna che richiede il backfill dell'indice a cui fa riferimento. Gli stati possibili sono i seguenti:
|
interleave_type |
character varying |
Indica se esiste una relazione padre-figlio tra questa tabella e la tabella in cui è interfoliata. I valori possibili sono:
|
row_deletion_policy_expression |
character varying |
Una stringa che contiene il testo dell'espressione che definisce ROW
DELETION POLICY. |
table_synonyms
Questa tabella elenca 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 filtrata per riga elenca tutte le viste nel database attuale. Le entità che dispongono di autorizzazioni IAM a livello di database e quelle a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di quel ruolo possono visualizzare tutte le viste. Tutte le altre entità possono visualizzare solo le viste per cui è stato concesso il privilegio di controllo dell'accesso granulare dell'accesso SELECT al ruolo del database corrente, ai ruoli di cui il ruolo del database corrente è 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 visualizzazioni. |
Esempi
Restituisce informazioni su ogni tabella nello schema dell'utente:
SELECT
t.table_schema,
t.table_catalog,
t.table_name,
t.parent_table_name
FROM
information_schema.tables AS t
WHERE
t.table_schema NOT IN ('pg_catalog', 'information_schema', 'SPANNER_SYS')
AND t.table_type = 'BASE TABLE'
ORDER BY
t.table_catalog,
t.table_schema,
t.table_name
Restituisci il nome di tutte le tabelle e le viste in information_schema per i database con dialetto PostgreSQL:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = "information_schema"
Restituisci le informazioni sulle colonne della tabella utente my_table nello schema predefinito:
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: ```postgresql SELECT t.table_name, t.index_name, t.parent_table_name FROM information_schema.indexes AS t WHERE t.table_schema = 'public' AND t.index_type != 'PRIMARY_KEY' ORDER BY t.table_schema, t.table_name, t.index_name
Restituisci le colonne che utilizzano opzioni non predefinite nello schema predefinito:
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
Restituisci le opzioni di database correnti relative all'ottimizzatore:
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;
``` ## What's
next {: #whats-next}
+ Learn about available [Introspection tools](/spanner/docs/introspection) to
help you investigate database issues.