Schema di informazioni per i database di dialetti PostgreSQL

Lo schema di informazioni è uno schema integrato comune a ogni PostgreSQL standard. Puoi eseguire query SQL sulle tabelle nel information_schema per recuperare i metadati dello schema per un database.

Ad esempio, la seguente query recupera i nomi di tutte le tabelle definite dall'utente in un database:

  SELECT
    table_name
  FROM
    information_schema.tables
  WHERE
    table_schema = 'public'

Utilizzo

  • Le tabelle information_schema sono disponibili solo tramite le interfacce SQL, per esempio:

    • 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 nei database di dialetti information_schema per PostgreSQL includono colonne da nelle tabelle in information_schema per PostgreSQL open source e alcuni casi includono anche colonne di Spanner. In queste tabelle, il parametro Le colonne PostgreSQL open source vengono visualizzate per prime e nello stesso ordine per un database PostgreSQL open source ed eventuali colonne distinte Spanner viene aggiunto successivamente. Query scritte per la versione PostgreSQL open source di information_schema dovrebbe funzionare senza durante l'utilizzo dei database di dialetti PostgreSQL in Google Cloud CLI.

Altre differenze significative nei database di dialetti information_schema per PostgreSQL sono:

  • Alcune colonne delle tabelle per PostgreSQL open source sono disponibili, ma non compilati in database di dialetti PostgreSQL.
  • I database di dialetti PostgreSQL utilizzano public per il nome dello schema predefinito.
  • I nomi dei vincoli generati automaticamente utilizzano un formato diverso da PostgreSQL open source.
  • Tabelle relative alle funzionalità PostgreSQL open source che non sono supportati nei database di dialetti PostgreSQL.
  • Alcune tabelle disponibili con Spanner, ma non PostgreSQL open source, ad esempio database_options, index_columns, indexes e spanner_statistics sono disponibili.

Filtri righe in information_schema tabelle e visualizzazioni

Le entità che dispongono di autorizzazioni IAM a livello di database alle entità a cui è stato concesso l'accesso al sistema spanner_info_reader ruolo (o ai membri di quel ruolo) possono visualizzare tutti righe in tutte le tabelle e le viste information_schema. Per altre entità, Spanner filtra le righe in base al ruolo di database attuale. La le descrizioni delle tabelle e delle viste nelle sezioni seguenti indicano Spanner filtra le righe per ogni tabella e vista.

Tabelle in information_schema per database di dialetti PostgreSQL

Le tabelle e le visualizzazioni in information_schema sono compatibili con le tabelle e viste nel information_schema di PostgreSQL open source.

Le seguenti sezioni descrivono le tabelle e le visualizzazioni in information_schema per i database di dialetti PostgreSQL.

applicable_roles

Questa vista filtrata di righe elenca tutte le appartenenze ai ruoli concesse in modo esplicito per tutti i ruoli del database. Entità con IAM a livello di database autorizzazioni e entità a cui è stato concesso l'accesso spanner_info_reader ruolo di sistema o i membri di quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono vedere solo le appartenenze ai ruoli al ruolo attuale del database o a un ruolo di cui il database attuale ruolo è un membro.

Poiché tutti i ruoli del database fanno parte del pubblico , i risultati omettono i record per appartenenza implicita al ruolo pubblico.

Nome colonna Tipo Descrizione
grantee character varying Il nome del ruolo del database a cui è concessa l'appartenenza.
role_name character varying Il nome del ruolo del database padre in cui è presente questa appartenenza concesso.
is_grantable character varying Non utilizzato. Sempre NO.

change_stream_columns

Questa vista con filtri di riga contiene informazioni sulle colonne della tabella e sulla modifica che li guardano. Ogni riga descrive un flusso di modifiche e una colonna. Se una modifica in tempo reale monitora un'intera tabella, le colonne al suo interno non mostra in questa visualizzazione.

Le entità che dispongono di autorizzazioni IAM a livello di database alle entità a cui è stato concesso l'accesso al ruolo di sistema spanner_info_reader oppure ai membri di quel ruolo possono vedere tutte le righe in questa visualizzazione. Tutte le altre entità può visualizzare solo le righe per le modifiche in tempo reale a cui è stato concesso il privilegio SELECT al ruolo di database attuale, ai ruoli che l'attuale ruolo di database 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 di dialetti PostgreSQL, il valore predefinito è public.
change_stream_name character varying Il nome della modifica in tempo reale.
table_catalog character varying Il nome del database.
table_schema character varying Il nome dello schema della tabella. Per i database di dialetti PostgreSQL, il valore predefinito è public.
table_name character varying Il nome della tabella a cui fa riferimento questa riga.
column_name character varying Il nome della colonna a cui fa riferimento questa riga.

change_stream_options

Questa visualizzazione filtrata per riga contiene le opzioni di configurazione per le modifiche in tempo reale. Entità con autorizzazioni IAM a livello di database e entità che è stato concesso l'accesso al ruolo di sistema spanner_info_reader o a membri di quel ruolo possono vedere tutte le righe di questa visualizzazione. Tutte le altre entità possono visualizzare solo per le modifiche in tempo reale per cui viene concesso il privilegio SELECT all'amministratore ruolo attuale di database, ai ruoli di cui il ruolo 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 della modifica in tempo reale. Per i database di dialetti PostgreSQL, il valore predefinito è public.
change_stream_name character varying Il nome della modifica in tempo reale.
option_name character varying Il nome dell'opzione di modifiche in tempo reale.
option_type character varying Il tipo di dati dell'opzione di modifica in tempo reale.
option_value character varying Il valore dell'opzione di modifica in tempo reale.

change_stream_privileges

Questa vista filtrata di righe elenca tutti i privilegi granulari di controllo dell'accesso dell'accesso concessi a ogni modifica flussi di dati a qualsiasi ruolo di database, tra cui public. Le entità con le autorizzazioni e le entità IAM a livello di database è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai suoi membri può vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono visualizzare solo i privilegi per modifiche in tempo reale al ruolo di database corrente, ai ruoli di cui ruolo attuale di database è un 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 viene concesso il privilegio.
change_stream_catalog character varying Il nome del database.
change_stream_schema character varying Il nome dello schema che contiene la modifica in tempo reale. Il valore predefinito è public per i database di dialetti PostgreSQL.
change_stream_name character varying Il nome della modifica in tempo reale.
privilege_type character varying Il tipo di privilegio (solo SELECT).
is_grantable character varying Non utilizzato. Sempre NO.

change_stream_tables

Questa vista con filtri di riga contiene informazioni sulle tabelle e sulle modifiche in tempo reale che li guardano. Ogni riga descrive una tabella e una modifica in tempo reale. Presidi che dispongono di autorizzazioni e entità IAM a livello di database che sono state è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai suoi membri può vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono visualizzare solo le righe per modifiche in tempo reale per cui viene concesso il privilegio SELECT all'attuale ruolo di database, ai ruoli di cui il ruolo attuale è membro oppure per 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 di dialetti PostgreSQL, il valore predefinito è public.
change_stream_name character varying Il nome della modifica 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 di dialetti PostgreSQL, il valore predefinito è public.
table_name character varying Il nome della tabella a cui fa riferimento questa riga.
all_columns character varying YES se la modifica in tempo reale di questa riga monitora l'intero tabella a cui fa riferimento questa riga. Altrimenti, NO. In conformità con standard SQL, la stringa è YES o NO, piuttosto che un valore booleano.

change_streams

Questa vista filtrata di righe elenca tutti i modifiche in tempo reale di un database e segnala quelli monitorano l'intero database rispetto a tabelle o colonne specifiche. Presidi che dispongono di autorizzazioni e entità IAM a livello di database che sono state è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai suoi membri può vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono vedere solo la modifica flussi per i quali all'utente viene concesso il privilegio di controllo dell'accesso granulare SELECT ruolo di database, ai ruoli di cui il ruolo attuale è membro oppure per 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 flusso di modifiche. Per i database di dialetti PostgreSQL, il valore predefinito è public.
change_stream_name character varying Il nome della modifica in tempo reale.
all character varying YES se questa modifica in tempo reale monitora l'intero database. NO se questa modifica in tempo reale monitora tabelle o colonne specifiche. In conformità allo standard SQL, la stringa è YES o NO, anziché un valore booleano.

check_constraints

La vista check_constraints contiene una riga per ogni verifica il vincolo 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 di dialetti PostgreSQL.
constraint_name character varying Il nome del vincolo. Se il nome del vincolo non è esplicitamente specificato 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. Il possibile sono i seguenti:
  • VALIDATING: il database di dialetti PostgreSQL sta convalidando esistenti per un ALTER CONSTRAINT Comando ADD CONSTRAINT.
  • COMMITTED: nessuna modifica dello schema attiva per questo elemento di blocco.

column_column_usage

Questa visualizzazione elenca tutte le colonne generate che dipendono da un'altra colonna di base in 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, information_schema). Questa colonna non è mai nulla.
table_name character varying Il nome della tabella che contiene le colonne generate.
column_name character varying Il nome della colonna di base da cui dipende la colonna generata.
dependent_column character varying Il nome della colonna generata.

column_options

Questa visualizzazione elenca tutte le opzioni definite per le colonne della tabella di riferimento di un un vincolo di chiave esterna. La vista contiene solo le colonne nel riferimento tabella a cui ha accesso l'utente corrente (in quanto proprietario o concesso privilegiati).

Nome colonna Tipo Descrizione
table_catalog character varying Il nome del database.
table_schema character varying Il nome dello schema che contiene la tabella esterna. Il nome è public per lo schema predefinito e non vuoto per gli altri schemi (ad ad esempio information_schema). Questa colonna non è mai null.
table_name character varying Il nome della tabella esterna.
column_name character varying Il nome della colonna.
option_name character varying Un identificatore SQL che identifica in modo univoco l'opzione. Questo identificatore è la chiave della clausola OPTIONS nel DDL.
option_value character varying Un valore letterale SQL che descrive il valore di questa opzione. Il valore di questo può essere analizzata come parte di una query.
option_type character varying Nome del tipo di dati che rappresenta il tipo di questo valore dell'opzione.

column_privileges

Questa visualizzazione filtrata a riga elenca tutti i privilegi granulari di controllo dell'accesso concessi su tutte le colonne a qualsiasi ruolo di database, tra cui public. Entità con IAM a livello di database e le entità a cui è stato concesso l'accesso spanner_info_reader ruolo di sistema o i membri di quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono vedere solo i privilegi concessi per le colonne a l'attuale ruolo di database, ai ruoli dei quali l'attuale ruolo di database o a public.

La vista include i privilegi SELECT, INSERT e UPDATE che eredita 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 appartiene questo privilegio concesso.
table_catalog character varying Il nome del database.
table_schema character varying Il nome dello schema che contiene la tabella o la vista. La Il valore predefinito è public per i database di dialetti PostgreSQL.
table_name character varying Il nome della tabella o della vista che contiene la colonna.
column_name character varying Il nome della colonna.
privilege_type character varying Il tipo di privilegio (SELECT, INSERT o UPDATE).
is_grantable character varying Non utilizzato. Sempre NO.

columns

Questa vista con filtro di righe fornisce informazioni su tutte le colonne e la vista della tabella nel database. Entità con IAM a livello di database autorizzazioni e entità a cui è stato concesso l'accesso spanner_info_reader ruolo di sistema o i membri di quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono vedere solo le colonne che hanno un controllo dell'accesso granulare privilegi concessi a quest'ultimo (o ai privilegi SELECT, INSERT o UPDATE concessi nelle tabelle contenenti il database) al ruolo attuale del database, ai ruoli di cui il ruolo attuale del database è membro, oppure 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 ad esempio information_schema). Questa colonna non è mai null.
table_name character varying Il nome della tabella
column_name character varying Il nome della colonna
ordinal_position BIGINT La posizione ordinale della colonna nella tabella, che inizia con un valore pari a 1
column_default character varying Una rappresentazione stringa dell'espressione PostgreSQL open source del valore predefinito della colonna, ad esempio '9'::bigint.
is_nullable character varying Una stringa che indica se alla colonna è possibile assegnare valori null. Nel 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 è 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 stringa di caratteri e bit. Se non è stata specificata una lunghezza massima, il valore è NULL. Se i dati tipo di colonna non è una stringa di caratteri o 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. Solo al momento sono supportati 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 le unità di base di precisione dopo il punto della radice. Per bigint, è 0. Per tutti gli altri tipi di dati, il valore è NULL.
datetime_precision BIGINT Non utilizzato. Il valore è sempre NULL.
interval_type character varying Non utilizzato. Il valore è sempre NULL.
interval_precision BIGINT Non utilizzato. Il valore è sempre NULL.
character_set_catalog character varying Non utilizzato. Il valore è sempre NULL.
character_set_schema character varying Non utilizzato. Il valore è sempre NULL.
character_set_name character varying Non utilizzato. Il valore è sempre NULL.
collation_catalog character varying Non utilizzato. Il valore è sempre NULL.
collation_schema character varying Non utilizzato. Il valore è sempre NULL.
collation_name character varying Non utilizzato. Il valore è sempre NULL.
domain_catalog character varying Non utilizzato. Il valore è sempre NULL.
domain_schema character varying Non utilizzato. Il valore è sempre NULL.
domain_name character varying Non utilizzato. Il valore è sempre NULL.
udt_catalog character varying Non utilizzato. Il valore è sempre NULL.
udt_schema character varying Non utilizzato. Il valore è sempre NULL.
udt_name character varying Non utilizzato. Il valore è sempre NULL.
scope_catalog character varying Non utilizzato. Il valore è sempre NULL.
scope_schema character varying Non utilizzato. Il valore è sempre NULL.
scope_name character varying Non utilizzato. Il valore è sempre NULL.
maximum_cardinality BIGINT Non utilizzato. Il valore è sempre NULL.
dtd_identifier character varying Non utilizzato. Il valore è sempre NULL.
is_self_referencing character varying Non utilizzato. Il valore è sempre NULL.
is_identity character varying Non utilizzato. Il valore è sempre NULL.
identity_generation character varying Non utilizzato. Il valore è sempre NULL.
identity_start character varying Non utilizzato. Il valore è sempre NULL.
identity_increment character varying Non utilizzato. Il valore è sempre NULL.
identity_maximum character varying Non utilizzato. Il valore è sempre NULL.
identity_minimum character varying Non utilizzato. Il valore è sempre NULL.
identity_cycle character varying Non utilizzato. Il valore è sempre NULL.
is_generated character varying Una stringa che indica se la colonna è stata generata. La stringa è ALWAYS per una colonna generata oppure NEVER per una colonna non generata.
generation_expression character varying Una stringa che rappresenta l'espressione SQL di una colonna generata oppure NULL se la colonna non è una colonna generata.
is_updatable character varying Non utilizzato. Il valore è sempre NULL.
spanner_type character varying Una stringa che contiene il tipo 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 i valori e NULL per le colonne non generate.
spanner_state character varying Stato attuale della colonna. Una nuova colonna generata archiviata è stata aggiunta a una tabella esistente può passare attraverso più stati osservabili dall'utente prima di sia completamente fruibile. I valori possibili sono:
  • NO_WRITE: nelle colonne non sono consentite operazioni di lettura o scrittura. Una colonna archiviata e generata in questo stato non genera alcun client effetto.
  • WRITE_ONLY: è in corso il backfill della colonna. Nessuna lettura corrente consentito.
  • COMMITTED: la colonna è completamente utilizzabile.
  • NULL: utilizzata per le colonne negli schemi di sistema.

constraint_column_usage

Questa vista contiene una riga per ogni colonna utilizzata da un vincolo.

  • Per i vincoli PRIMARY KEY e CHECK definiti dal criterio NOT NULL parola chiave, la visualizzazione contiene quelle colonne.
  • Per i vincoli CHECK creati con la parola chiave CHECK, la visualizzazione include le colonne utilizzate dall'espressione del vincolo di controllo.
  • Per i vincoli di chiave esterna, la vista contiene le colonne del alla tabella a cui viene fatto riferimento.
  • Per i vincoli UNIQUE, la visualizzazione contiene le colonne da 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 utilizzato dal vincolo.
table_name character varying Il nome della tabella che contiene la colonna utilizzato 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 relative alla tabella si riferiscono alle tabelle del tipo REFERENCES una clausola. Per un vincolo di chiave univoca o primaria, questa vista identifica semplicemente tabella a cui appartiene il vincolo. Controlla che i vincoli e i vincoli not-null siano non inclusi in questa visualizzazione.

Nome colonna Tipo Descrizione
table_catalog character varying Il nome del database.
table_schema character varying Il nome dello schema della tabella vincolata.
table_name character varying Il nome della tabella utilizzato da un vincolo.
constraint_catalog character varying Il nome del database.
constraint_schema character varying Il nome dello schema che contiene il vincolo.
constraint_name character varying Il nome del vincolo.

database_options

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 con i dialetti PostgreSQL.
option_name character varying Il nome dell'opzione di database. Questo è il valore di key nella clausola OPTIONS del DDL.
option_type character varying Il tipo di dati dell'opzione di database.
option_value character varying Il valore dell'opzione di database.

enabled_roles

Questa vista con filtro di righe elenca i ruoli di database definiti. Le entità con le autorizzazioni e le entità IAM a livello di database è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai membri di quel ruolo può vedere tutti i ruoli del database. Tutte le altre entità possono visualizzare solo ai ruoli di 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. Altrimenti, NO.

index_columns

Questa visualizzazione elenca le colonne in un indice.

Nome colonna Tipo Descrizione
table_catalog character varying Il nome del database.
table_schema character varying Il nome dello schema che contiene l'indice. Il valore predefinito è public.
table_name character varying Il nome della tabella associata all'indice.
index_name character varying Il nome dell'indice. Tabelle con un PRIMARY KEY hanno una voce pseudo-indice generata con il nome PRIMARY_KEY.
index_type character varying Il tipo di indice. I valori possibili sono PRIMARY_KEY, LOCAL o GLOBAL.
column_name character varying Il nome della colonna.
ordinal_position BIGINT La posizione ordinale della colonna nell'indice (o principale ), iniziando con il valore 1. Questo valore è NULL per gli attributi non chiave (ad esempio, le colonne specificate nel 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 quelle non chiave colonne (ad esempio, le colonne specificate nel criterio STORING di un indice).
is_nullable character varying Una stringa che indica se alla colonna è possibile assegnare valori null. In conformità con lo standard SQL, la stringa è YES o NO, anziché un valore booleano.
spanner_type character varying Una stringa che contiene 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. Tabelle create con un PRIMARY KEY hanno una voce di pseudo-indice generata con il nome PRIMARY_KEY, che consente di identificare i campi della chiave primaria.
index_type character varying Il tipo di indice. I valori includono PRIMARY_KEY, LOCAL o GLOBAL.
parent_table_name character varying Gli indici secondari possono essere interlacciati in una tabella padre, come discusso in Creazione di un indice secondario. Questa colonna contiene il nome della tabella padre oppure una stringa vuota se l'indice non è con interleaving.
is_unique character varying Indica se le chiavi di indice devono essere univoche. In conformità con SQL standard, la stringa è YES o NO, invece che con un valore booleano.
is_null_filtered character varying Se l'indice include voci con valori NULL. Nel in base allo standard SQL, la stringa è YES o NO, anziché un valore booleano.
index_state character varying Stato attuale dell'indice. I valori possibili e gli stati rappresentano:
  • 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: controllo dell'univocità dei dati in un nuovo indice
  • READ_WRITE: normale operazione sull'indice
spanner_is_managed character varying Se l'indice è gestito da Spanner. Ad esempio, secondario gli indici di supporto per le chiavi esterne sono gestiti da Spanner. La stringa è YES o NO, anziché una Valore booleano, in conformità con lo standard SQL.

information_schema_catalog_name

Questa tabella contiene una riga e una colonna con 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 su CHECK delle colonne dei vincoli, 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 colonna vincolata. Il valore predefinito è public.
table_name character varying Il nome della tabella che contiene la colonna limitata da questo vincolo.
column_name character varying Il nome della colonna vincolata.
ordinal_position BIGINT La posizione ordinale della colonna all'interno della chiave del vincolo, a partire dalla data con un valore di 1.
position_in_unique_constraint BIGINT Per FOREIGN KEY, la posizione ordinale della colonna all'interno di il vincolo univoco, che inizia con il valore 1. Questo ha un valore NULL per altri tipi di vincoli.

parameters

Questa visualizzazione filtrata di righe definisce gli argomenti per ogni modifica in tempo reale letta personalizzata. Ogni riga descrive un argomento per uno di lettura delle modifiche in tempo reale.

Entità con autorizzazioni IAM a livello di database e entità che è stato concesso l'accesso al ruolo di sistema spanner_info_reader o a membri di quel ruolo possono vedere tutte le righe di questa visualizzazione. Tutte le altre entità possono visualizzare solo Parametri per le funzioni di lettura delle modifiche in tempo reale su cui il controllo dell'accesso granulare EXECUTE il privilegio attuale viene concesso ai ruoli di cui l'attuale ruolo database è un membro o di 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 di dialetti PostgreSQL, il valore predefinito è public.
specific_name character varying Il nome della routine. Identifica in modo univoco la routine anche se il suo nome è sovraccarico.
ordinal_position bigint La posizione ordinale del parametro nell'elenco di argomenti del che inizia con il valore 1.
parameter_mode character varying Non utilizzato. Sempre NULL.
is_result character varying Non utilizzato. Sempre NULL.
as_locator character varying Non utilizzato. Sempre NULL.
parameter_name character varying Il nome del parametro.
data_type character varying Il tipo di dati del parametro. Il valore è uno dei seguite da:
  • 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.

referential_constraints

Questa vista contiene una riga relativa a ogni vincolo FOREIGN KEY. Puoi vedere solo i vincoli per i quali disponi dell'accesso in scrittura alla tabella di riferimento. Questo identifica anche i vincoli PRIMARY KEY e UNIQUE sulla tabelle di riferimento utilizzate dalle chiavi esterne per l'applicazione dei vincoli e 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. La 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 che la chiave esterna riferimenti a vincoli.
match_option character varying Il metodo di corrispondenza utilizzato dal vincolo di chiave esterna. Il valore è sempre NONE.
update_rule character varying La regola di aggiornamento del vincolo di chiave esterna. Questo valore è sempre NO ACTION.
delete_rule character varying La regola di eliminazione del vincolo di chiave esterna. Questo valore è CASCADE o NO ACTION.
spanner_state character varying Stato attuale della chiave esterna. Spanner non inizia il vincolo finché gli indici di supporto della chiave esterna e di cui è stato eseguito il backfill. Quando gli indici sono pronti, Spanner inizia ad applicare il vincolo per le nuove transazioni mentre convalida i dati esistenti. I valori possibili e gli stati che rappresentano sono:
  • BACKFILLING_INDEXES: è in corso il backfill degli indici.
  • VALIDATING_DATA: i dati esistenti e le nuove operazioni di scrittura vengono convalidato.
  • WAITING_FOR_COMMIT: le operazioni collettive in chiave esterna hanno è stata completata correttamente o non ne è stata necessaria alcuna, ma la chiave esterna ancora in attesa.
  • COMMITTED: è stato eseguito il commit della modifica dello schema.

role_change_stream_grants

Questa vista filtrata di righe elenca i privilegi SELECT concessi per tutte le modifiche flussi di dati a qualsiasi ruolo di database, tra cui public. Le entità con le autorizzazioni e le entità IAM a livello di database è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai suoi membri può vedere tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo i privilegi per modifiche in tempo reale al ruolo di database corrente e ai ruoli di cui il ruolo attuale del database è un 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 il privilegio.
change_stream_catalog character varying Il nome del database.
change_stream_schema character varying Il nome dello schema che contiene la modifica in tempo reale. Il valore predefinito è public per i database di dialetti PostgreSQL.
change_stream_name character varying Il nome della modifica in tempo reale.
privilege_type character varying Il tipo di privilegio (solo SELECT).
is_grantable character varying Non utilizzato. Sempre NO.

role_column_grants

Questa visualizzazione filtrata a riga elenca tutti i privilegi granulari di controllo dell'accesso concessi su tutte le colonne a qualsiasi ruolo di database, tra cui public. Entità con livello di database Le autorizzazioni e le entità IAM a cui è stato concesso l'accesso spanner_info_reader ruolo di sistema o i membri di quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono vedere solo i privilegi concessi per le colonne a il ruolo attuale del database e ai ruoli di cui l'attuale ruolo membro, escluso public.

La vista include i privilegi SELECT, INSERT e UPDATE che eredita 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 appartiene questo privilegio concesso.
table_catalog character varying Il nome del database.
table_schema character varying Il nome dello schema che contiene la tabella o la vista. La Il valore predefinito è public per i database di dialetti 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 di righe elenca i privilegi EXECUTE concessi per tutte le modifiche Trasmetti funzioni di lettura in modalità flusso a qualsiasi ruolo di database, tra cui public. Le entità con le autorizzazioni IAM a livello di database e le entità a cui è stato concesso l'accesso spanner_info_reader ruolo di sistema o i membri di quel ruolo possono visualizzare tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo i privilegi concessi nel flusso di modifiche funzioni di lettura nel ruolo attuale del database e nei ruoli di cui l'attuale il ruolo di database è un 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 di dialetti PostgreSQL, il valore predefinito è public.
specific_name character varying Il nome della routine. Identifica in modo univoco la routine anche se il suo nome è sovraccarico.
routine_catalog character varying Il nome del database.
routine_schema character varying Il nome dello schema della routine. L'impostazione predefinita è public per i database di dialetti PostgreSQL.
routine_name character varying Il nome della routine. (Potrebbe essere duplicato in caso di overloading.)
privilege_type character varying Il tipo di privilegio concesso. Sempre EXECUTE.
is_grantable character varying Non utilizzato. Sempre NO.

role_table_grants

Questa visualizzazione filtrata per riga elenca tutti i privilegi di controllo dell'accesso granulare concessi su tutte le tabelle e viste a qualsiasi ruolo del database, tra cui public. Le entità con le autorizzazioni e le entità IAM a livello di database è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai suoi membri può vedere tutte le righe in questa vista. Tutte le altre entità possono visualizzare solo i privilegi concessi per tabelle e viste al ruolo di database corrente e ai ruoli di cui l'attuale ruolo di database è un 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 il privilegio.
table_catalog character varying Il nome del database.
table_schema character varying Il nome dello schema che contiene la tabella o la vista. L'impostazione predefinita è public per i database di dialetti 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 a riga contiene una riga per ciascuna opzione per ogni modifica definita la funzione di lettura del flusso.

Entità con autorizzazioni IAM a livello di database e entità che è stato concesso l'accesso al ruolo di sistema spanner_info_reader o a membri di quel ruolo possono vedere tutte le righe di questa visualizzazione. Tutte le altre entità possono visualizzare solo opzioni per le funzioni di lettura delle modifiche in tempo reale su cui il controllo dell'accesso granulare EXECUTE il privilegio attuale viene concesso ai ruoli di cui l'attuale ruolo database è un membro o di public.

Nome colonna Tipo Descrizione
specific_catalog character varying Il nome del database.
specific_schema character varying Il nome dello schema della routine. L'impostazione predefinita è public per i database di dialetti PostgreSQL.
specific_name character varying Il nome della routine. Identifica in modo univoco la routine anche se il suo nome è sovraccarico.
option_name character varying Il nome dell'opzione.
option_type character varying Il tipo di dati dell'opzione. Il valore è uno dei seguenti:
  • 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 di righe elenca tutti i privilegi granulari di controllo dell'accesso dell'accesso concessi a ogni modifica Trasmetti funzioni di lettura in modalità flusso a qualsiasi ruolo di database, tra cui public. Entità che dispongono di autorizzazioni e entità IAM a livello di database che sono state è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai suoi membri può vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono visualizzare solo i privilegi concessi alle funzioni di lettura delle modifiche in tempo reale al ruolo di database attuale ai ruoli di cui il ruolo attuale del database è membro oppure 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 di dialetti PostgreSQL, il valore predefinito è public.
specific_name character varying Il nome della routine. Identifica in modo univoco la routine anche se il suo nome è sovraccarico.
routine_catalog character varying Il nome del database.
routine_schema character varying Il nome dello schema della routine. L'impostazione predefinita è public.
routine_name character varying Il nome della routine. Potrebbe essere duplicato in caso di sovraccarico.
privilege_type character varying Il tipo di privilegio concesso.
is_grantable character varying Non utilizzato. Sempre NO.

routines

Questa vista filtrata di righe elenca tutte le funzioni di lettura delle modifiche in tempo reale di un database. Entità con autorizzazioni IAM a livello di database e entità che è stato concesso l'accesso al ruolo di sistema spanner_info_reader o a membri di quel ruolo possono vedere tutte le righe di questa visualizzazione. Tutte le altre entità possono visualizzare solo funzioni di lettura di modifiche in tempo reale su cui è assegnato il privilegio di controllo dell'accesso granulare EXECUTE al ruolo di database attuale, ai ruoli di cui il database attuale nel ruolo di membro, oppure per public.

Nome colonna Tipo Descrizione
specific_catalog character varying Il nome del database.
specific_schema character varying Il nome dello schema della routine. L'impostazione predefinita è public per i database di dialetti PostgreSQL.
specific_name character varying Il nome della routine. Identifica in modo univoco la routine anche se il suo nome è sovraccarico.
routine_catalog character varying Il nome del database.
routine_schema character varying Il nome dello schema della routine.
routine_name character varying Il nome della routine. (Potrebbe essere duplicato in caso di overloading.)
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 seguite da:
  • 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/td> bigint Non utilizzato. Il valore è sempre NULL.
numeric_precision_radix bigint Non utilizzato. Il valore è sempre NULL.
numeric_scale bigint Non utilizzato. Il valore è sempre NULL.
datetime_precision bigint Non utilizzato. Il valore è sempre NULL.
interval_type character varying Non utilizzato. Il valore è sempre NULL.
interval_precision bigint Non utilizzato. Il valore è sempre NULL.
type_udt_catalog character varying Non utilizzato. Il valore è sempre NULL.
type_udt_schema character varying Non utilizzato. Il valore è sempre NULL.
type_udt_name character varying Non utilizzato. Il valore è sempre NULL.
scope_catalog character varying Non utilizzato. Il valore è sempre NULL.
scope_schema character varying Non utilizzato. Il valore è sempre NULL.
scope_name character varying Non utilizzato. Il valore è sempre NULL.
maximum_cardinality bigint Non utilizzato. Il valore è sempre NULL.
dtd_identifier character varying Non utilizzato. Il valore è sempre NULL.
routine_body character varying Il tipo di corpo della routine (SQL o EXTERNAL).
routine_definition character varying Definizione per l'SQL routine_body, vuoto negli altri casi.
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. Attualmente 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 nella è il database attuale. Gli schemi includono lo schema di informazioni e uno schema schema denominato public.

Nome colonna Tipo Descrizione
catalog_name character varying Il nome del database.
schema_name character varying Il nome dello schema. Lo schema predefinito è impostato su public 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 corrispondenza del quale tutti i dati di questo schema sono stati efficace. Al momento viene utilizzato solo per lo schema predefinito.

sequences

La visualizzazione 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 di dialetti PostgreSQL.
sequence_name character varying Il nome della sequenza.
data_type character varying La sequenza supporta solo int8.
numeric_precision bigint Attualmente non in uso. Il valore è sempre "NULL".
numeric_precision_radix bigint Attualmente non in uso. Il valore è sempre "NULL".
numeric_scale bigint Attualmente non in uso. Il valore è sempre "NULL".
start_value bigint Attualmente non in uso. Il valore è sempre "NULL".
minimum_value bigint Attualmente non in uso. Il valore è sempre "NULL".
maximum_value bigint Attualmente non in uso. Il valore è sempre "NULL".
increment bigint Attualmente non in uso. Il valore è sempre "NULL".
cycle_option character varying L'unica opzione accettata da sequence è no.
sequence_kind character varying Il tipo di sequenza. bit_reversed_positive è l'unico accettabile.
counter_start_value bigint Valore iniziale del contatore della sequenza.
skip_range_min bigint Il valore minimo nell'intervallo ignorato. Questo valore è NULL se non è impostato.
skip_range_max bigint Il valore massimo nell'intervallo ignorato. Questo valore è NULL se non è impostato.

spanner_statistics

Questa tabella elenca i pacchetti di statistiche disponibili per l'ottimizzazione delle query.

Nome colonna Tipo Descrizione
catalog_name character varying Il nome del database.
schema_name character varying Il nome dello schema. Il valore predefinito dello schema è public.
package_name character varying Il nome del pacchetto di statistiche.
allow_gc character varying Indica se il pacchetto di statistiche è esente dalla garbage collection. Nel in base allo standard SQL, la stringa è YES o NO, anziché un valore booleano. Questo attributo deve essere impostato a NO prima di poter fare riferimento al pacchetto di statistiche in un hint o tramite l'API client.

table_constraints

Questa visualizzazione contiene tutti i vincoli appartenenti alle tabelle di cui dispone l'utente corrente a (diverso 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:
  • CHECK
  • FOREIGN 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 o meno. Se un vincolo viene applicato, (dopo raggiunge un certo stato), viene convalidata sia in fase di scrittura che strumento di verifica dell'integrità in background. In conformità con lo standard SQL, stringa è YES o NO, anziché una Valore booleano.

table_privileges

Questa visualizzazione filtrata per riga elenca tutti i privilegi di controllo dell'accesso granulare concessi su tutte le tabelle e viste a qualsiasi ruolo del database, tra cui public. Le entità con le autorizzazioni e le entità IAM a livello di database è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai suoi membri può vedere tutte le righe in questa visualizzazione. Tutte le altre entità possono visualizzare solo i privilegi per tabelle e viste al ruolo di database corrente, ai ruoli di cui ruolo attuale di database è un 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 viene concesso il 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 di dialetti 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 vista con filtro di righe elenca tutte le tabelle e tutte le viste presenti nel database attuale. Entità con autorizzazioni IAM a livello di database e entità che è stato concesso l'accesso al ruolo di sistema spanner_info_reader o a membri di quel ruolo possono vedere tutte le tabelle e le visualizzazioni. Tutte le altre entità possono visualizzare solo le tabelle che soddisfano uno dei seguenti requisiti:

  • SELECT, INSERT, UPDATE, o DELETEcontrollo dell'accesso granulare vengono concessi privilegi nella tabella al ruolo attuale del database, ai ruoli di cui ruolo attuale del database è un membro o di public.
  • SELECT, INSERT o UPDATE vengono concessi privilegi per qualsiasi colonna di tabella al ruolo di database corrente, ruoli di cui l'attuale ruolo di database è membro, oppure per 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 vista.
table_name character varying Nome della tabella, visualizzazione o sinonimo.
table_type character varying Il tipo di tabella. I valori possibili sono "TABELLA DI BASE", "VISUALIZZA" o "SYNONYM".
self_referencing_column_name character varying Non utilizzato.
reference_generation character varying Non utilizzato.
user_defined_type_catalog character varying Non utilizzato.
user_defined_type_schema character varying Non utilizzato.
user_defined_type_name character varying Non utilizzato.
is_insertable_into character varying Non utilizzato.
is_typed character varying Non utilizzato.
commit_action character varying Non utilizzato.
parent_table_name character varying Il nome della tabella padre se questa tabella è con interleaving oppure NULL.
on_delete_action character varying Questo valore è impostato su CASCADE o NO ACTION per con interleaving e NULL negli altri casi. Consulta Istruzioni TABLE per ulteriori informazioni.
spanner_state character varying Stato attuale di creazione della tabella.
Una tabella può passare attraverso più stati durante la creazione, se in blocco coinvolte operazioni, ad esempio quando la tabella viene creata con chiave esterna che richiede il backfill dell'indice di riferimento. Possibile sono:
  • ADDING_FOREIGN_KEY: aggiunta delle chiavi esterne della tabella
  • WAITING_FOR_COMMIT: finalizzazione della modifica allo schema
  • COMMITTED: la modifica allo schema per creare la tabella è stata impegnato. Non puoi scrivere nella tabella finché la modifica non viene impegnato.
  • NULL: tabelle o viste che non sono tabelle di base.
interleave_type character varying Se esiste una relazione padre-figlio tra questa tabella e la tabella in cui è interlacciato. I valori possibili sono:
  • IN: una tabella INTERLEAVE IN con nessun elemento padre-figlio relazione tra utenti. Una riga di questa tabella può esistere indipendentemente dal della rispettiva riga della tabella padre.
  • IN PARENT: una tabella INTERLEAVE IN PARENT che ha un relazione genitore-figlio. Una riga di questa tabella richiede l'esistenza della relativa riga della tabella padre.
row_deletion_policy_expression character varying Una stringa contenente il testo dell'espressione che definisce l'elemento ROW DELETION POLICY.

table_synonyms

Questa tabella elenca 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 vista con filtro di righe elenca tutte le viste nel database attuale. Entità che dispongono di autorizzazioni e entità IAM a livello di database che sono state è stato concesso l'accesso al ruolo di sistema spanner_info_reader o ai suoi membri può vedere tutte le viste. Tutte le altre entità possono vedere solo le visualizzazioni con SELECT privilegio di controllo dell'accesso granulare concesso al ruolo attuale del database. ai ruoli di cui il ruolo attuale del database è membro o a public.

Nome colonna Tipo Descrizione
table_catalog character varying Il nome del database.
table_schema character varying Il nome dello schema. Il valore predefinito è public.
table_name character varying Il nome della vista.
view_definition character varying Il testo SQL della query che definisce la vista.
check_option character varying Non utilizzato.
is_updatable character varying Non utilizzato.
is_insertable_into character varying Non utilizzato.
is_trigger_updatable character varying Non utilizzato.
is_trigger_deletable character varying Non utilizzato.
is_trigger_insertable_into character varying Non utilizzato.
security_type character varying Il tipo di sicurezza della vista. INVOKER o DEFINER.

Per ulteriori informazioni, consulta Informazioni sulle viste.

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 le visualizzazioni in information_schema per Database di dialetti PostgreSQL:

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

Restituisce informazioni sulle colonne nella 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 nell'attuale database:

SELECT
  t.table_name,
  t.index_name,
  t.parent_table_name
FROM
  information_schema.indexes AS t
WHERE
  t.table_schema = 'public'
  AND
  t.index_type != 'PRIMARY_KEY'
ORDER BY
  t.table_schema,
  t.table_name,
  t.index_name

Restituisci tutte le colonne che utilizzano opzioni diverse da quella predefinita:

SELECT
  t.table_name,
  t.column_name,
  t.option_type,
  t.option_value,
  t.option_name
FROM
  information_schema.column_options AS t
WHERE
  t.table_schema = 'public'
ORDER BY
  t.table_schema,
  t.table_name,
  t.column_name,
  t.option_name

Restituisce le opzioni di database correlate all'ottimizzatore correnti:

SELECT
  s.option_name,
  s.option_value
FROM
  information_schema.database_options s
WHERE
  s.schema_name='public'
  AND s.option_name IN ('optimizer_version',
    'optimizer_statistics_package')

Restituisci tutti i pacchetti di statistiche disponibili:

SELECT *
FROM information_schema.spanner_statistics;

Passaggi successivi