Schema di informazioni per i database in dialetto PostgreSQL

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 di 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.

Differenze rispetto a information_schema per PostgreSQL

Le tabelle in information_schema per i database in 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 in cui vengono visualizzate per un database PostgreSQL open source. Eventuali colonne distinte per Spanner vengono aggiunte in un secondo momento. Le query scritte per la versione PostgreSQL open source di information_schema dovrebbero funzionare senza modifiche quando si utilizzano database in dialetto PostgreSQL in Google Cloud CLI.

Altre differenze significative in information_schema per i database in dialetto PostgreSQL sono:

  • Alcune delle colonne della tabella per PostgreSQL open source sono disponibili, ma non vengono compilate nei database in dialetto PostgreSQL.
  • I database con dialetto PostgreSQL utilizzano public per 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à PostgreSQL open source non supportate nei database in dialetto PostgreSQL non sono disponibili.
  • Sono disponibili alcune tabelle disponibili con Spanner, ma non con PostgreSQL open source, ad esempio database_options, index_columns, indexes e spanner_statistics.

Filtro delle righe nelle tabelle e nelle visualizzazioni di information_schema

Le entità che dispongono di autorizzazioni IAM a livello di database e quelle a cui è stato concesso l'accesso al ruolo spanner_info_reader di sistema (o ai membri di quel ruolo) possono visualizzare tutte le righe di tutte le tabelle e le viste information_schema. Per gli altri principali, Spanner filtra le righe in base al ruolo database corrente. Le descrizioni delle tabelle e delle visualizzazioni nelle sezioni seguenti indicano in che modo Spanner filtra le righe per ogni tabella e visualizzazione.

Tabelle in information_schema per i database in 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 seguenti sezioni descrivono le tabelle e le viste in information_schema per i database in dialetto PostgreSQL.

applicable_roles

Questa visualizzazione filtrata per riga elenca tutte le iscrizioni ai ruoli concesse esplicitamente 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 quel ruolo possono visualizzare tutte le righe di questa visualizzazione. Tutti gli altri principali possono vedere solo le iscrizioni ai ruoli concesse al ruolo del database corrente o a un ruolo di cui il ruolo del 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'appartenenza.
role_name character varying Il nome del ruolo del database principale 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 sugli stream di modifiche che le monitorano. Ogni riga descrive uno stream di modifiche e una colonna. Se uno stream di modifiche monitora un'intera tabella, le colonne della tabella non vengono visualizzate in questa visualizzazione.

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 di questa visualizzazione. Tutti gli altri principali possono vedere solo le righe per gli modifiche in tempo reale su cui è concesso il privilegio SELECT al ruolo di database corrente, ai ruoli di cui il ruolo di database corrente è un 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 della modifica in tempo reale. Per i database in dialetto PostgreSQL, il valore predefinito è public.
change_stream_name character varying Il nome del flusso di modifiche.
table_catalog character varying Il nome del database.
table_schema character varying Il nome dello schema della tabella. Per i database in 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 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 di questa visualizzazione. Tutti gli altri principali possono vedere solo le opzioni per gli modifiche in tempo reale a cui è concesso il privilegio SELECT 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 della modifica in tempo reale. Per i database in dialetto PostgreSQL, il valore predefinito è public.
change_stream_name character varying Il nome del flusso di modifiche.
option_name character varying Il nome dell'opzione di stream delle modifiche.
option_type character varying Il tipo di dati dell'opzione stream di modifiche.
option_value character varying Il valore dell'opzione dello stream delle modifiche.

change_stream_privileges

Questa vista filtrata per riga elenca tutti i privilegi di controllo dell'accesso granulare concessi su tutti gli stream di modifiche a qualsiasi ruolo del database, incluso public. Le entità che dispongono di autorizzazioni IAM a livello di database e a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di questo ruolo possono visualizzare tutte le righe in questa visualizzazione. Tutti gli altri principali possono vedere solo i privilegi concessi agli modifiche in tempo reale per il ruolo di database corrente, per i ruoli di cui il ruolo di database corrente è membro o per public.

Nome colonna Tipo Descrizione
grantor character varying Non utilizzato. Sempre NULL.
grantee character varying Il nome del ruolo del database a cui è concesso questo privilegio.
change_stream_catalog character varying Il nome del database.
change_stream_schema character varying Il nome dello schema contenente lo stream di modifiche. Il valore predefinito è public per i database in dialetto PostgreSQL.
change_stream_name character varying Il nome del flusso di 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 sugli modifiche in tempo reale che le monitorano. Ogni riga descrive una tabella e uno stream 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 visualizzare tutte le righe di questa visualizzazione. Tutti gli altri principali possono vedere solo le righe per modifiche in tempo reale a cui è concesso il privilegio SELECT 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 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 della modifica in tempo reale. Per i database in dialetto PostgreSQL, il valore predefinito è public.
change_stream_name character varying Il nome dello stream 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 in 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 lo stream di modifiche di questa riga monitora l'intera tabella a cui fa riferimento. 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 tutti gli modifiche in tempo reale di un database e indica quali 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 questo ruolo possono visualizzare tutte le righe di questa visualizzazione. Tutti gli altri principali possono vedere solo i stream di modifiche a cui è concesso il privilegio di controllo dell'accesso granulare SELECT 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. Per i database in dialetto PostgreSQL, il valore predefinito è public.
change_stream_name character varying Il nome del flusso di modifiche.
all character varying YES se questo flusso di modifiche monitora l'intero database. NO se questo stream delle modifiche 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 della limitazione. Il valore predefinito è public per i database in dialetto PostgreSQL.
constraint_name character varying Il nome del vincolo. Se il nome della limitazione non è specificato esplicitamente nello schema, viene utilizzato il nome generato automaticamente.
check_clause character varying L'espressione della condizione di controllo.
spanner_state character varying Lo stato attuale della verifica della restrizione. Gli stati possibili sono i seguenti:
  • VALIDATING: il database in dialetto PostgreSQL convalida i dati esistenti per un comando ALTER CONSTRAINT o ADD CONSTRAINT.
  • COMMITTED: non è presente alcuna modifica dello schema attiva per questo vincolo.

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 schema information_schema stesso). Questa colonna non è mai nulla.
table_name character varying Il nome della tabella contenente 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 a cui si fa 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 qualità di proprietario o con privilegi concessi).

Nome colonna Tipo Descrizione
table_catalog character varying Il nome del database.
table_schema character varying Il nome dello schema contenente la tabella esterna. Il nome è public per lo schema predefinito e non vuoto per gli altri schemi (ad es.information_schema stesso). Questa colonna non è mai nulla.
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 nell'ambito di una query.
option_type character varying Un nome di 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 concessi su tutte le colonne a qualsiasi ruolo del database, incluso public. 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 questo ruolo possono visualizzare tutte le righe di questa visualizzazione. Tutti gli altri principali possono vedere 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 visualizzazione include i privilegi SELECT, INSERT e UPDATE ereditati dalla colonna dalla tabella o dalla visualizzazione 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 è 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 visualizzazione. Il valore predefinito è public per i database in dialetto PostgreSQL.
table_name character varying Il nome della tabella o della visualizzazione contenente 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 visualizzazione filtrata per riga fornisce informazioni su tutte le colonne della tabella e le colonne della visualizzazione 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 quel ruolo possono visualizzare tutte le righe di questa visualizzazione. Tutti gli altri principali possono vedere solo le colonne a cui sono stati concessi i privilegi di controllo dell'accesso granulare (o i privilegi SELECT, INSERT o UPDATE concessi alle tabelle contenenti) 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 che contiene la tabella. Il nome è public per lo schema predefinito e non vuoto per gli altri schemi (ad es. lo stesso information_schema). Questa colonna non è mai nulla.
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 un valore di 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 base allo standard SQL, la stringa è YES o NO, anziché un valore booleano.
data_type character varying Il tipo di dati della colonna. Il valore può essere uno dei seguenti:
  • Per i tipi integrati, il nome del tipo di dati.
  • Per gli array, il valore ARRAY.
character_maximum_length BIGINT La lunghezza massima dichiarata per i tipi di dati di stringhe di caratteri e 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 numerico 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:
  • 2 per double precision float8 e bigint
  • 10 per numeric
Per tutti gli altri tipi di dati, il valore è 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 oppure NULL se la colonna non è generata.
is_updatable character varying Non utilizzato. Il valore è sempre NULL.
spanner_type character varying Una stringa contenente il tipo della 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:
  • NO_WRITE: non è consentita la lettura o la scrittura delle colonne. Una colonna generata archiviata in questo stato non ha alcun effetto sul client.
  • WRITE_ONLY: la colonna è in fase di backfill. Non è consentita alcuna lettura.
  • COMMITTED: la colonna è completamente utilizzabile.
  • NULL: utilizzato per le colonne negli schemi di sistema.

constraint_column_usage

Questa visualizzazione contiene una riga per ogni colonna utilizzata da una limitazione.

  • Per i vincoli PRIMARY KEY e CHECK definiti dalla parola chiave NOT NULL, la vista contiene queste colonne.
  • Per le limitazioni CHECK create con la parola chiave CHECK, la vista include le colonne utilizzate dall'espressione della limitazione di controllo.
  • Per i vincoli di chiave esterna, la visualizzazione contiene le colonne della tabella a cui viene fatto riferimento.
  • Per i vincoli UNIQUE, la visualizzazione contiene le colonne di KEY_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 dalla limitazione.
table_name character varying Il nome della tabella contenente la colonna utilizzata dalla limitazione.
column_name character varying Il nome della colonna utilizzata dalla limitazione.
constraint_catalog character varying Il nome del database.
constraint_schema character varying Il nome dello schema della limitazione.
constraint_name character varying Il nome del vincolo.

constraint_table_usage

Questa visualizzazione contiene una riga per ogni tabella utilizzata da una limitazione. Per i vincoli FOREIGN KEY, le informazioni sulle tabelle riguardano le tabelle nella clausola REFERENCES. Per un vincolo di chiave univoca o principale, questa visualizzazione identifica la tabella a cui appartiene il vincolo. I vincoli di controllo e i vincoli non null 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 alcuni vincoli.
constraint_catalog character varying Il nome del database.
constraint_schema character varying Il nome dello schema che contiene la limitazione.
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 di database.

enabled_roles

Questa visualizzazione filtrata per riga elenca i ruoli del database definiti. Le entità che dispongono di autorizzazioni IAM a livello di database e a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di quel ruolo possono visualizzare tutti i ruoli di database. Tutti gli altri principali possono vedere solo i ruoli di database a cui è stato concesso l'accesso direttamente o tramite eredità. 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. Altrimenti, 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. Le tabelle con una specifica PRIMARY KEY hanno una voce di 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 nella chiave primaria), che inizia con 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à allo standard SQL, la stringa è YES o NO, anziché un valore booleano.
spanner_type character varying Una stringa contenente il tipo della 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 principale, come spiegato in Creazione di un insieme di indici secondari. Questa colonna contiene il nome della tabella principale o una stringa vuota se l'indice non è interlacciato.
is_unique character varying Indica se le chiavi dell'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à con lo 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:
  • NULL: il tipo di indice è PRIMARY_KEY
  • PREPARE: creazione di tabelle vuote per un nuovo indice
  • WRITE_ONLY: backfill dei dati per un nuovo indice
  • WRITE_ONLY_CLEANUP: pulizia di un nuovo indice
  • WRITE_ONLY_VALIDATE_UNIQUE: verifica dell'unicità dei dati in un nuovo indice
  • READ_WRITE: normale operazione dell'indice
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 di chiave primaria, una chiave esterna o un valore univoco. Per informazioni sulle CHECK colonne di vincolo, consulta la visualizzazione check_constraints.

Nome colonna Tipo Descrizione
constraint_catalog character varying Il nome del database.
constraint_schema character varying Il nome dello schema della limitazione. 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 contenente la colonna vincolata. Il valore predefinito è public.
table_name character varying Il nome della tabella contenente 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 un 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 un valore 1. Questa colonna ha un valore NULL per altri tipi di vincoli.

parameters

Questa vista filtrata per riga definisce gli argomenti per ogni funzione di lettura dello stream di modifiche. Ogni riga descrive un argomento per una funzione di lettura dello stream di variazioni.

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 di questa visualizzazione. Tutti gli altri principali possono vedere solo i parametri per le funzioni di lettura dei flussi di variazioni a cui è concesso il privilegio di controllo dell'accesso granulare EXECUTE 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 in 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 degli 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 deve essere uno dei seguenti:
  • Per i tipi integrati, il nome del tipo di dati.
  • Per gli array, il valore ARRAY.
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.

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 base allo standard SQL, la stringa è YES o NO, anziché un valore booleano.

placement-options

Per ogni posizionamento, questa tabella elenca le opzioni impostate nel posizionamento 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:
  • instance_partition
  • default_leader
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, si tratta del nome della partizione dell'istanza. Per default_leader, si tratta del nome della regione leader predefinita.

referential_constraints

Questa visualizzazione contiene una riga per ogni vincolo FOREIGN KEY. Puoi vedere solo i vincoli per i quali disponi dell'accesso in scrittura alla tabella di riferimento. Questa visualizza anche i vincoli PRIMARY KEY e UNIQUE sulle tabelle a cui si fa riferimento che le chiavi esterne utilizzano per l'applicazione dei vincoli e per le azioni di riferimento.

Nome colonna Tipo Descrizione
constraint_catalog character varying Il nome del database.
constraint_schema character varying Il nome dello schema contenente la limitazione della chiave esterna. Il valore predefinito è public.
constraint_name character varying Il nome della limitazione della chiave esterna.
unique_constraint_catalog character varying Il nome del database.
unique_constraint_schema character varying Il nome dello schema che contiene la limitazione della chiave univoca o principale a cui fa riferimento la limitazione della chiave esterna.
unique_constraint_name character varying Il nome del vincolo di chiave primaria o univoca a cui fa riferimento il vincolo della chiave esterna.
match_option character varying Il metodo di corrispondenza utilizzato dalla limitazione della chiave esterna. Il valore è sempre NONE.
update_rule character varying La regola di aggiornamento della limitazione della chiave esterna. Questo valore è sempre NO ACTION.
delete_rule character varying La regola di eliminazione della limitazione della chiave esterna. Questo valore è CASCADE o NO ACTION.
spanner_state character varying Lo stato attuale della chiave esterna. Spanner non inizia a applicare la limitazione finché gli indici di supporto della chiave esterna non vengono creati e sottoposti a backfill. Una volta che gli indici sono pronti, Spanner inizia a applicare la limitazione per le nuove transazioni e convalida i dati esistenti. I valori possibili e gli stati che rappresentano sono:
  • BACKFILLING_INDEXES: è in corso il backfill degli indici.
  • VALIDATING_DATA: i dati esistenti e le nuove scritture vengono convalidati.
  • WAITING_FOR_COMMIT: le operazioni collettive con chiavi esterne sono state completate correttamente o non sono state necessarie, ma la chiave esterna è ancora in attesa.
  • COMMITTED: la modifica dello schema è stata confermata.

role_change_stream_grants

Questa visualizzazione filtrata per riga elenca i privilegi SELECT concessi su tutti i 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 questo ruolo possono visualizzare tutte le righe in questa visualizzazione. Tutti gli altri principali possono vedere solo i privilegi concessi agli modifiche in tempo reale per il ruolo di database corrente e per i ruoli di cui il ruolo di 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 è concesso questo privilegio.
change_stream_catalog character varying Il nome del database.
change_stream_schema character varying Il nome dello schema contenente lo stream di modifiche. Il valore predefinito è public per i database in dialetto PostgreSQL.
change_stream_name character varying Il nome del flusso di 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 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 questo ruolo possono visualizzare tutte le righe di questa visualizzazione. Tutti gli altri principali possono vedere solo i privilegi concessi sulle colonne al ruolo del database corrente e ai ruoli di cui il ruolo del database corrente è membro, escluso public.

La visualizzazione include i privilegi SELECT, INSERT e UPDATE ereditati dalla colonna dalla tabella o dalla visualizzazione 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 è 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 visualizzazione. Il valore predefinito è public per i database in dialetto PostgreSQL.
table_name character varying Il nome della tabella o della visualizzazione contenente 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 visualizzazione filtrata per riga elenca i privilegi EXECUTE concessi a 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 questo ruolo possono visualizzare tutte le righe di questa visualizzazione. Tutti gli altri principali possono vedere solo i privilegi concessi alle funzioni di lettura del flusso di modifiche al ruolo del database corrente e ai ruoli di cui il ruolo del database corrente è 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 in 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 in 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 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 a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di questo ruolo possono visualizzare tutte le righe in questa visualizzazione. Tutti gli altri principali possono vedere solo i privilegi concessi su tabelle e visualizzazioni al ruolo del database corrente e ai ruoli di cui il ruolo del 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 è 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 visualizzazione. Il valore predefinito è public per i database in dialetto PostgreSQL.
table_name character varying Il nome della tabella o della visualizzazione.
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 dello stream di variazioni 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 di questa visualizzazione. Tutti gli altri principali possono vedere solo le opzioni per le funzioni di lettura dei flussi di variazioni a cui è concesso il privilegio di controllo dell'accesso granulare EXECUTE 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 in 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:
  • Per i tipi integrati, il nome del tipo di dati.
  • Per gli array, il valore ARRAY.
option_value character varying Il valore dell'opzione.

routine_privileges

Questa vista filtrata per riga elenca tutti i privilegi di controllo dell'accesso granulare concessi a tutte le funzioni di lettura dello stream di modifiche a qualsiasi ruolo del database, incluso public. Le entità che dispongono di autorizzazioni IAM a livello di database e a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di questo ruolo possono visualizzare tutte le righe in questa visualizzazione. Tutti gli altri principali possono vedere solo i privilegi concessi alle funzioni di lettura del flusso di modifiche 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 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 in 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 del flusso di modifiche 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 quel ruolo possono visualizzare tutte le righe di questa visualizzazione. Tutti gli altri principali possono vedere solo le funzioni di lettura dei flussi di variazioni a cui è stato concesso il privilegio di controllo dell'accesso dell'accesso granulare EXECUTE 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 in 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 di ritorno della routine. Il valore deve essere uno dei seguenti:
  • Per i tipi integrati, il nome del tipo di dati.
  • Per gli array, il valore ARRAY.
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 del corpo della routine (SQL o EXTERNAL).
routine_definition character varying La definizione per l'istruzione SQL routine_body, vuota in caso contrario.
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.

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 a partire dal quale tutti i dati di questo schema sono stati applicati. 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 in dialetto PostgreSQL.
sequence_name character varying Il nome della sequenza.
data_type character varying Sequence 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 di 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 dello strumento di ottimizzazione 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 delle statistiche è esente dalla garbage collection. In conformità con lo 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 la limitazione.
constraint_name character varying Il nome del vincolo.
table_catalog character varying Il nome del database.
table_schema character varying Il nome dello schema contenente la tabella associata alla limitazione.
table_name character varying Il nome della tabella.
constraint_type character varying Il tipo di vincolo. I valori possibili sono:
  • CHECK
  • FOREIGN KEY
  • PLACEMENT KEY
  • PRIMARY KEY
  • UNIQUE
is_deferrable character varying Il valore è sempre NO.
initially_deferred character varying Il valore è sempre NO.
enforced character varying Indica se il vincolo è applicato. Se un vincolo viene applicato (dopo aver raggiunto un determinato stato), viene convalidato sia al momento della scrittura sia da un verificatore dell'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 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 a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di questo ruolo possono visualizzare tutte le righe in questa visualizzazione. Tutti gli altri principali possono vedere solo i privilegi concessi su tabelle e viste 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 è 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 visualizzazione. Il valore predefinito è public per i database in dialetto PostgreSQL.
table_name character varying Il nome della tabella o della visualizzazione.
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 visualizzazione filtrata per riga elenca tutte le tabelle e le visualizzazioni 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. Tutti gli altri principali possono vedere solo le tabelle che soddisfano uno dei seguenti requisiti:

  • I privilegi di controllo dell'accesso granulare SELECT, INSERT, UPDATE o DELETE vengono concessi nella tabella al ruolo del database corrente, ai ruoli di cui il ruolo del database corrente è membro o a public.
  • I privilegi SELECT, INSERT o UPDATE vengono concessi a qualsiasi colonna della tabella 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 che contiene la tabella o la visualizzazione.
table_name character varying Il nome della tabella, della visualizzazione 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 principale se questa è interlacciata oppure NULL.
on_delete_action character varying Questo valore è impostato su CASCADE o NO ACTION per le tabelle interlacciate e su NULL in caso contrario. Per ulteriori informazioni, consulta Comandi TABLE.
spanner_state character varying Lo stato di creazione attuale della tabella.
Una tabella può attraversare più stati durante la creazione, se sono coinvolte operazioni collettive, ad esempio quando la tabella viene creata con una chiave esterna che richiede il completamento dell'indice a cui fa riferimento. Gli stati possibili sono:
  • ADDING_FOREIGN_KEY: aggiunta delle chiavi esterne della tabella
  • WAITING_FOR_COMMIT: finalizzazione della modifica dello schema
  • COMMITTED: la modifica dello schema per creare la tabella è stata committata. Non puoi scrivere nella tabella finché la modifica non viene committata.
  • NULL: tabelle o visualizzazioni che non sono tabelle di base.
interleave_type character varying Se esiste una relazione padre-figlio tra questa tabella e la tabella in cui è interlacciata. I valori possibili sono:
  • IN: una tabella INTERLEAVE IN che non ha alcuna relazione tra tabelle principali e secondarie. Una riga in questa tabella può esistere indipendentemente dall'esistenza della riga della tabella principale.
  • IN PARENT: una tabella INTERLEAVE IN PARENT con una relazione padre-figlio. Una riga in questa tabella richiede l'esistenza della riga della tabella principale.
row_deletion_policy_expression character varying Una stringa contenente il testo dell'espressione che definisce ROW DELETION POLICY.

table_synonyms

Questa tabella elenca le informazioni sui sinonimi per la 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 visualizzazione filtrata per riga elenca tutte le visualizzazioni nel database corrente. Le entità che dispongono di autorizzazioni IAM a livello di database e a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di questo ruolo possono visualizzare tutte le viste. Tutti gli altri principali possono vedere solo le viste a cui è stato concesso il privilegio di controllo dell'accesso granulare SELECT per il ruolo del database corrente, per i ruoli di cui il ruolo del database corrente è membro o per 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 visualizzazione. INVOKER o DEFINER.

Per saperne di più, consulta Informazioni sulle visualizzazioni.

Esempi

Restituisce 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 delle visualizzazioni in information_schema per i database in dialetto PostgreSQL:

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

Restituisce 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

Restituisce informazioni su ogni indice nello schema predefinito del database corrente: ```sql 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

Restituisce 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 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')

Restituisce tutti i pacchetti di statistiche disponibili:

SELECT *
FROM information_schema.spanner_statistics;

Passaggi successivi