O esquema de informações é um esquema integrado comum a todos os
bancos de dados do PostgreSQL. É possível executar consultas SQL em tabelas no information_schema
para buscar metadados de esquema para um banco de dados.
Por exemplo, a consulta a seguir busca os nomes de todas as tabelas definidas pelo usuário em um banco de dados:
SELECT
table_name
FROM
information_schema.tables
WHERE
table_schema = 'public'
Uso
As tabelas
information_schema
estão disponíveis apenas por interfaces SQL, por exemplo:- A API
executeQuery
- O comando
gcloud spanner databases execute-sql
- A página Consulta de um banco de dados no console do Google Cloud.
Outros métodos de leitura única não são compatíveis com
information_schema
.- A API
- É possível usar as consultas do
information_schema
com inatividades fortes e limitadas ou com limites de carimbo de data/hora de inatividade exata. - Se você estiver usando um banco de dados de dialeto do GoogleSQL, consulte Esquema de informações para bancos de dados do dialeto do GoogleSQL.
Diferenças de info_schema para o PostgreSQL
As tabelas no information_schema
para bancos de dados do dialeto do PostgreSQL incluem colunas das
tabelas no information_schema
para PostgreSQL de código aberto e, em alguns casos, também incluem colunas do Spanner. Nessas tabelas, as colunas do PostgreSQL de código aberto vêm primeiro e na mesma ordem que um banco de dados PostgreSQL de código aberto. Todas as colunas distintas do Spanner são anexadas depois. As consultas escritas para a
versão de código aberto do PostgreSQL de information_schema
funcionam sem
modificação ao usar bancos de dados do dialeto do PostgreSQL na Google Cloud CLI.
Outras diferenças importantes no information_schema
para bancos de dados de dialeto do PostgreSQL são:
- Algumas das colunas da tabela para PostgreSQL de código aberto estão disponíveis, mas não são preenchidas nos bancos de dados do dialeto do PostgreSQL.
- Os bancos de dados do dialeto do PostgreSQL usam
public
para o nome do esquema padrão. - Os nomes de restrição gerados automaticamente usam um formato diferente dos bancos de dados PostgreSQL de código aberto.
- As tabelas relacionadas a recursos do PostgreSQL de código aberto que não são compatíveis com os bancos de dados do dialeto do PostgreSQL não estão disponíveis.
- Algumas tabelas disponíveis com o Spanner, mas não o PostgreSQL de código aberto, como
database_options
,index_columns
,indexes
espanner_statistics
.
Tabelas em information_schema para bancos de dados de dialeto do PostgreSQL
As tabelas e visualizações em information_schema
são compatíveis com as tabelas
e visualizações em information_schema
do PostgreSQL de código aberto.
As seções a seguir descrevem as tabelas e visualizações no information_schema
para bancos de dados do dialeto do PostgreSQL:
change_stream_columns
Essa visualização contém a relação entre as colunas de um banco de dados e os fluxos de alterações. Cada linha diz respeito a um fluxo de alterações e uma coluna de banco de dados.
Os dados em change_stream_columns
não incluem as relações implícitas
entre as colunas e os streams de alterações que rastreiam as tabelas inteiras dessas colunas.
Nome da coluna | Tipo | Descrição |
---|---|---|
change_stream_catalog |
character varying |
O nome do banco de dados. |
change_stream_schema |
character varying |
O nome do esquema do stream de alteração. O padrão é "public" para bancos de dados de dialeto do PostgreSQL. |
change_stream_name |
character varying |
O nome do stream de alteração. |
table_catalog |
character varying |
O nome do banco de dados. |
table_schema |
character varying |
O nome do esquema da tabela. O padrão é "public" para bancos de dados de dialeto do PostgreSQL. |
table_name |
character varying |
O nome da tabela a que esta linha se refere. |
column_name |
character varying |
O nome da coluna a que esta linha se refere. |
change_stream_options
Essa visualização contém as opções de configuração dos streams de alteração.
Nome da coluna | Tipo | Descrição |
---|---|---|
change_stream_catalog |
character varying |
O nome do banco de dados. |
change_stream_schema |
character varying |
O nome do esquema do stream de alteração. O padrão é "public" para bancos de dados de dialeto do PostgreSQL. |
change_stream_name |
character varying |
O nome do stream de alteração. |
option_name |
character varying |
O nome da opção de stream de alteração. |
option_type |
character varying |
O tipo de dados da opção de stream de alteração. |
option_value |
character varying |
O valor da opção de stream de alteração. |
change_stream_tables
Essa visualização contém as relações entre as tabelas de um banco de dados e os fluxos de mudanças. Cada linha diz respeito a uma tabela de banco de dados e um fluxo de alterações.
Os dados em change_stream_tables
não incluem as relações implícitas
entre tabelas e streams de mudança que rastreiam todo o banco de dados.
Nome da coluna | Tipo | Descrição |
---|---|---|
change_stream_catalog |
character varying |
O nome do banco de dados. |
change_stream_schema |
character varying |
O nome do esquema do stream de alteração. O padrão é "public" para bancos de dados de dialeto do PostgreSQL. |
change_stream_name |
character varying |
O nome do stream de alteração a que esta linha se refere. |
table_catalog |
character varying |
O nome do banco de dados. |
table_schema |
character varying |
O nome do esquema da tabela. O padrão é "public" para bancos de dados de dialeto do PostgreSQL. |
table_name |
character varying |
O nome da tabela a que esta linha se refere. |
all_columns |
character varying |
YES : se o stream de alteração dessa linha rastrear toda a tabela a que a linha se refere. Caso contrário, NO . De acordo com o
padrão SQL, a string é YES ou NO ,
em vez de um valor booleano. |
change_streams
Essa visualização lista todos os fluxos de alterações de um banco de dados e observa quais deles rastreiam todo o banco de dados em comparação com tabelas ou colunas específicas.
Nome da coluna | Tipo | Descrição |
---|---|---|
change_stream_catalog |
character varying |
O nome do banco de dados. |
change_stream_schema |
character varying |
O nome do esquema desse stream de alteração. O padrão é "public" para bancos de dados de dialeto do PostgreSQL. |
change_stream_name |
character varying |
O nome do stream de alteração. |
all |
character varying |
YES : se esse fluxo de alteração rastrear todo o banco de dados.
NO : se esse fluxo de alteração rastrear tabelas ou colunas específicas.
De acordo com o padrão SQL, a string é YES
ou NO , em vez de um valor booleano. |
check_constraints
A visualização check_constraints
contém uma linha para cada restrição de verificação definida pela palavra-chave CHECK
ou NOT NULL
.
Nome da coluna | Tipo | Descrição |
---|---|---|
constraint_catalog |
character varying |
O nome do banco de dados. |
constraint_schema |
character varying |
O nome de esquema da restrição. O padrão é "public" para bancos de dados de dialeto do PostgreSQL. |
constraint_name |
character varying |
O nome da restrição. Se o nome da restrição não for especificado explicitamente no esquema, o nome gerado automaticamente será usado. |
check_clause |
character varying |
A expressão da restrição de verificação. |
spanner_state |
character varying |
O estado atual da restrição de verificação. Os estados
possíveis são os seguintes:
|
column_column_usage
Essa visualização lista todas as colunas geradas que dependem de outra coluna base na mesma tabela.
Nome da coluna | Tipo | Descrição |
---|---|---|
table_catalog |
character varying |
O nome do banco de dados. |
table_schema |
character varying |
O nome do esquema que contém a tabela. O nome é "public" para o esquema padrão e não vazio para outros esquemas (por exemplo, o próprio information_schema ). Essa coluna jamais é nula. |
table_name |
character varying |
O nome da tabela que contém as colunas geradas. |
column_name |
character varying |
O nome da coluna base de que a coluna gerada depende. |
dependent_column |
character varying |
Nome da coluna gerada. |
column_options
Essa visualização lista todas as opções definidas para as colunas de tabela referenciadas de uma restrição de chave externa. A visualização contém apenas as colunas na tabela de referência a que o usuário atual tem acesso (por ser o proprietário ou privilégio concedido).
Nome da coluna | Tipo | Descrição |
---|---|---|
table_catalog |
character varying |
O nome do banco de dados. |
table_schema |
character varying |
O nome do esquema que contém a tabela externa. O nome é "public" para o esquema padrão e não vazio para outros esquemas (por exemplo, o próprio information_schema ). Essa coluna nunca é nula. |
table_name |
character varying |
O nome da tabela externa. |
column_name |
character varying |
O nome da coluna. |
option_name |
character varying |
Um identificador SQL que identifica com exclusividade a opção. Esse identificador é a chave da cláusula OPTIONS em DDL.
|
option_value |
character varying |
Um literal SQL que descreve o valor dessa opção. O valor dessa coluna pode ser analisado como parte de uma consulta. |
option_type |
character varying |
Um nome do tipo de dados que é o tipo desse valor de opção. |
columns
Essa visualização oferece informações sobre todas as colunas da tabela (ou colunas de visualização) no banco de dados. A visualização contém apenas as colunas às quais o usuário atual tem acesso (por ser o proprietário ou receber privilégios).
Nome da coluna | Tipo | Descrição |
---|---|---|
table_catalog |
character varying |
O nome do banco de dados. |
table_schema |
character varying |
O nome do esquema que contém a tabela. O nome é "public" para o esquema padrão e não vazio para outros esquemas (por exemplo, o próprio information_schema ). Essa coluna nunca é nula. |
table_name |
character varying |
O nome da tabela |
column_name |
character varying |
O nome da coluna |
ordinal_position |
BIGINT |
A posição ordinal da coluna na tabela, começando com um valor de 1 |
column_default |
character varying |
Uma representação de string da expressão PostgreSQL de código aberto
do valor padrão da coluna, por exemplo, '9'::bigint .
|
is_nullable |
character varying |
Uma string que indica se a coluna é anulável. De acordo com o padrão SQL, a string é YES ou NO , em vez de um valor booleano. |
data_type |
character varying |
O tipo de dados da coluna. O valor é um dos seguintes:
|
character_maximum_length |
BIGINT |
O tamanho máximo declarado para os tipos de dados de string de caracteres e bits. Se um comprimento máximo não for especificado, o valor será "NULL". Se o tipo de dados da coluna não for uma string de caracteres ou de bits, o valor será "NULL". |
character_octet_length |
BIGINT |
Não usado no momento. O valor é sempre "NULL". |
numeric_precision |
BIGINT |
A precisão do tipo de dados numéricos da coluna atual. Para "precisão dupla", o valor é 53. Para `bigint`, o valor é 64. Para todos os outros tipos de dados, o valor é "NULL". |
numeric_precision_radix |
BIGINT |
A base (unidade) da precisão para tipos numéricos. Atualmente,
somente dois valores são compatíveis:
|
numeric_scale |
BIGINT |
Contém a escala do tipo de coluna numérica, que é o número de unidades base de precisão após o ponto radix. Para `bigint`, o valor é 0. Para todos os outros tipos de dados, o valor é "NULL". |
datetime_precision |
BIGINT |
Não usado no momento. O valor é sempre "NULL". |
interval_type |
character varying |
Não usado no momento. O valor é sempre "NULL". |
interval_precision |
BIGINT |
Não usado no momento. O valor é sempre "NULL". |
character_set_catalog |
character varying |
Não usado no momento. O valor é sempre "NULL". |
character_set_schema |
character varying |
Não usado no momento. O valor é sempre "NULL". |
character_set_name |
character varying |
Não usado no momento. O valor é sempre "NULL". |
collation_catalog |
character varying |
Não usado no momento. O valor é sempre "NULL". |
collation_schema |
character varying |
Não usado no momento. O valor é sempre "NULL". |
collation_name |
character varying |
Não usado no momento. O valor é sempre "NULL". |
domain_catalog |
character varying |
Não usado no momento. O valor é sempre "NULL". |
domain_schema |
character varying |
Não usado no momento. O valor é sempre "NULL". |
domain_name |
character varying |
Não usado no momento. O valor é sempre "NULL". |
udt_catalog |
character varying |
Não usado no momento. O valor é sempre "NULL". |
udt_schema |
character varying |
Não usado no momento. O valor é sempre "NULL". |
udt_name |
character varying |
Não usado no momento. O valor é sempre "NULL". |
scope_catalog |
character varying |
Não usado no momento. O valor é sempre "NULL". |
scope_schema |
character varying |
Não usado no momento. O valor é sempre "NULL". |
scope_name |
character varying |
Não usado no momento. O valor é sempre "NULL". |
maximum_cardinality |
BIGINT |
Não usado no momento. O valor é sempre "NULL". |
dtd_identifier |
character varying |
Não usado no momento. O valor é sempre "NULL". |
is_self_referencing |
character varying |
Não usado no momento. O valor é sempre "NULL". |
is_identity |
character varying |
Não usado no momento. O valor é sempre "NULL". |
identity_generation |
character varying |
Não usado no momento. O valor é sempre "NULL". |
identity_start |
character varying |
Não usado no momento. O valor é sempre "NULL". |
identity_increment |
character varying |
Não usado no momento. O valor é sempre "NULL". |
identity_maximum |
character varying |
Não usado no momento. O valor é sempre "NULL". |
identity_minimum |
character varying |
Não usado no momento. O valor é sempre "NULL". |
identity_cycle |
character varying |
Não usado no momento. O valor é sempre "NULL". |
is_generated |
character varying |
Uma string que indica se a coluna foi gerada. A string é
ALWAYS para uma coluna gerada ou NEVER
para uma coluna não gerada. |
generation_expression |
character varying |
Uma string que representa a expressão SQL de uma coluna gerada, ou
NULL se a coluna não for uma coluna gerada. |
is_updatable |
character varying |
Não usado no momento. O valor é sempre "NULL". |
spanner_type |
character varying |
Uma string que contém o tipo de coluna compatível com DDL. |
is_stored |
character varying |
Uma string que indica se a coluna gerada está armazenada.
A string é sempre YES ou NO para colunas geradas e NULL para colunas não geradas. |
spanner_state |
character varying |
O estado atual da coluna. Uma nova coluna gerada armazenada adicionada a
uma tabela existente pode passar por vários estados observáveis pelo usuário
antes de ser totalmente utilizável. Os valores possíveis são:
|
constraint_column_usage
Essa visualização contém uma linha sobre cada coluna usada por uma restrição.
- Para as restrições
PRIMARY KEY
eCHECK
definidas pela palavra-chaveNOT NULL
, a visualização contém essas colunas. - Para restrições
CHECK
criadas com a palavra-chaveCHECK
, a visualização inclui as colunas usadas pela expressão de restrição de verificação. - Para restrições de chave externa, a visualização contém as colunas da tabela referenciada.
- Para restrições
UNIQUE
, a visualização contém as colunas deKEY_COLUMN_USAGE
.
Nome da coluna | Tipo | Descrição |
---|---|---|
table_catalog |
character varying |
O nome do banco de dados. |
table_schema |
character varying |
O nome do esquema que contém a tabela que contém a coluna usada pela restrição. |
table_name |
character varying |
O nome da tabela que contém a coluna usada pela restrição. |
column_name |
character varying |
O nome da coluna que é usada pela restrição. |
constraint_catalog |
character varying |
O nome do banco de dados. |
constraint_schema |
character varying |
O nome de esquema da restrição. |
constraint_name |
character varying |
O nome da restrição. |
constraint_table_usage
Essa visualização contém uma linha para cada tabela usada por uma restrição. Para restrições FOREIGN
KEY
, as informações da tabela são para as tabelas na cláusula REFERENCES
. Para uma restrição de chave primária ou exclusiva, essa visualização simplesmente identifica a
tabela à qual a restrição pertence. Restrições de verificação e restrições não nulas
não são incluídas nessa visualização.
Nome da coluna | Tipo | Descrição |
---|---|---|
table_catalog |
character varying |
O nome do banco de dados. |
table_schema |
character varying |
O nome de esquema da tabela restrita. |
table_name |
character varying |
O nome da tabela usada por alguma restrição. |
constraint_catalog |
character varying |
O nome do banco de dados. |
constraint_schema |
character varying |
O nome do esquema que contém a restrição. |
constraint_name |
character varying |
O nome da restrição. |
database_options
Esta tabela lista as opções definidas no banco de dados.
Nome da coluna | Tipo | Descrição |
---|---|---|
catalog_name |
character varying |
O nome do banco de dados. |
schema_name |
character varying |
O nome do esquema. O valor padrão é "public" para bancos de dados de dialeto do PostgreSQL. |
option_name |
character varying |
O nome da opção de banco de dados. Este é o valor de "key" na cláusula "OPTIONS" em DDL. |
option_type |
character varying |
O tipo de dados da opção de banco de dados. |
option_value |
character varying |
O valor da opção do banco de dados. |
index_columns
Essa tabela lista as colunas em um índice.
Nome da coluna | Tipo | Descrição |
---|---|---|
table_catalog |
character varying |
O nome do banco de dados. |
table_schema |
character varying |
O nome do esquema que contém o índice. O valor padrão é "public". |
table_name |
character varying |
O nome da tabela associada ao índice. |
index_name |
character varying |
O nome do índice. As tabelas com uma especificação "PRIMARY KEY" têm uma entrada pseudoíndice gerada com o nome "PRIMARY_KEY". |
index_type |
character varying |
O tipo de índice. Os valores possíveis são "PRIMARY_KEY", "LOCAL" ou "GLOBAL". |
column_name |
character varying |
O nome da coluna. |
ordinal_position |
BIGINT |
A posição ordinal da coluna no índice (ou chave primária), começando com um valor de 1. Esse valor é NULL para colunas sem chave (por exemplo, colunas especificadas na cláusula INCLUDE de um índice). |
column_ordering |
character varying |
A ordem de classificação da coluna. O valor é ASC ou DESC para colunas de chave e NULL para colunas não chave (por exemplo, colunas especificadas na cláusula STORING de um índice). |
is_nullable |
character varying |
Uma string que indica se a coluna é anulável. De acordo com
o padrão SQL, a string é YES ou
NO , em vez de um valor booleano. |
spanner_type |
character varying |
Uma string que contém o tipo de coluna compatível com DDL. |
indexes
Essa visualização lista os índices em um esquema.
Nome da coluna | Tipo | Descrição |
---|---|---|
table_catalog |
character varying |
O nome do banco de dados. |
table_schema |
character varying |
O nome do esquema. O valor padrão é "public". |
table_name |
character varying |
O nome da tabela. |
index_name |
character varying |
O nome do índice. As tabelas criadas com uma cláusula PRIMARY KEY
têm uma entrada de pseudoíndice gerada com o nome PRIMARY_KEY ,
que permite que os campos da chave primária sejam identificados. |
index_type |
character varying |
O tipo do índice. Os valores incluem PRIMARY_KEY ,
LOCAL ou GLOBAL . |
parent_table_name |
character varying |
Os índices secundários podem ser intercalados em uma tabela pai, conforme discutido em Como criar um índice secundário. Essa coluna contém o nome dessa tabela pai ou
NULL se o índice não for intercalado. |
is_unique |
character varying |
Se as chaves do índice precisarem ser exclusivas. De acordo com o padrão
SQL, a string é YES ou NO , em vez
de um valor booleano. |
is_null_filtered |
character varying |
Se o índice incluir entradas com valores NULL . De acordo com
o padrão SQL, a string é YES ou
NO , em vez de um valor booleano. |
index_state |
character varying |
O estado atual do índice. Os valores possíveis e os estados que
representam são os seguintes:
|
spanner_is_managed |
character varying |
Se o índice é gerenciado pelo Spanner. Por exemplo, índices secundários de apoio para chaves externas são gerenciados pelo Spanner. A
string é YES ou NO , em vez de um
valor booleano, de acordo com o padrão SQL. |
information_schema_catalog_name
Essa tabela contém uma linha e uma coluna com o nome do banco de dados.
Nome da coluna | Tipo | Descrição |
---|---|---|
catalog_name |
character varying |
O nome do banco de dados. |
key_column_usage
Essa visualização identifica todas as colunas no banco de dados atual que são referenciadas por
uma restrição de chave primária, primária ou externa. Para saber mais sobre as colunas de restrição CHECK
, consulte a visualização check_constraints
.
Nome da coluna | Tipo | Descrição |
---|---|---|
constraint_catalog |
character varying |
O nome do banco de dados. |
constraint_schema |
character varying |
O nome de esquema da restrição. O valor padrão é "public". |
constraint_name |
character varying |
O nome da restrição. |
table_catalog |
character varying |
O nome do banco de dados. |
table_schema |
character varying |
O nome do esquema que contém a tabela com a coluna restrita. O valor padrão é "public". |
table_name |
character varying |
O nome da tabela que contém a coluna restrita por essa restrição. |
column_name |
character varying |
O nome da coluna que é restrita. |
ordinal_position |
BIGINT |
A posição ordinal da coluna na chave de restrição, começando
com um valor de 1 . |
position_in_unique_constraint |
BIGINT |
Para FOREIGN KEY s, a posição ordinal da coluna dentro da restrição exclusiva, começando com um valor de 1 . Esta
coluna tem um valor "NULL" para outros tipos de restrição. |
referential_constraints
Essa visualização contém uma linha sobre cada restrição FOREIGN KEY
. Só é possível ver
as restrições a que você tem acesso de gravação na tabela de referência. Essa
visualização também identifica as restrições PRIMARY KEY
e UNIQUE
nas
tabelas referenciadas que as chaves estrangeiras usam para aplicação de restrições e
ações referenciais.
Nome da coluna | Tipo | Descrição |
---|---|---|
constraint_catalog |
character varying |
O nome do banco de dados. |
constraint_schema |
character varying |
O nome do esquema que contém a restrição de chave externa. O valor padrão é "public". |
constraint_name |
character varying |
O nome da restrição de chave externa. |
unique_constraint_catalog |
character varying |
O nome do banco de dados. |
unique_constraint_schema |
character varying |
O nome do esquema que contém a restrição de chave primária ou exclusiva referenciada pela restrição de chave externa. |
unique_constraint_name |
character varying |
O nome da restrição de chave primária ou exclusiva referenciada pela restrição de chave externa. |
match_option |
character varying |
O método de correspondência usado pela restrição de chave externa. O valor é sempre
NONE .
|
update_rule |
character varying |
A regra de atualização da restrição de chave externa. Esse valor é sempre NO ACTION .
|
delete_rule |
character varying |
A regra de exclusão da restrição de chave externa. Esse valor é sempre NO ACTION . |
spanner_state |
character varying |
O estado atual da chave externa. O Spanner não começa a aplicar a restrição até que os índices de apoio da chave externa sejam criados e preenchidos. Quando os índices estiverem prontos, o Spanner começará a aplicar a restrição para novas transações enquanto valida os dados atuais. Os valores possíveis e os estados que eles representam são os seguintes:
|
schemata
A visualização information_schema.schemata
contém uma linha para cada esquema no
banco de dados atual. Os esquemas incluem o esquema de informações e um esquema padrão chamado public
.
Nome da coluna | Tipo | Descrição |
---|---|---|
catalog_name |
character varying |
O nome do banco de dados. |
schema_name |
character varying |
O nome do esquema. É definido como "public" no esquema padrão e não vazio para esquemas nomeados. |
schema_owner |
character varying |
O nome do proprietário do esquema. |
default_character_set_catalog |
character varying |
Não usado no momento. |
default_character_set_schema |
character varying |
Não usado no momento. |
default_character_set_name |
character varying |
Não usado no momento. |
sql_path |
character varying |
Não usado no momento. |
effective_timestamp |
timestamp with timezone |
É o carimbo de data/hora em que todos os dados neste esquema se tornaram efetivos. No momento, isso é usado apenas para o esquema padrão. |
spanner_statistics
Esta tabela lista os pacotes de estatísticas do otimizador de consultas disponíveis.
Nome da coluna | Tipo | Descrição |
---|---|---|
catalog_name |
character varying |
O nome do banco de dados. |
schema_name |
character varying |
O nome do esquema. O valor padrão do esquema é "public". |
package_name |
character varying |
Nome do pacote de estatísticas. |
allow_gc |
character varying |
Indica se o pacote de estatísticas está isento da coleta de lixo. De acordo com
o padrão SQL, a string é YES ou
NO , em vez de um valor booleano. Esse atributo precisa ser definido como NO para que você possa referenciar o pacote de estatísticas em uma dica ou por meio da API do cliente.
|
table_constraints
Essa visualização contém todas as restrições pertencentes às tabelas às quais o usuário atual tem
acesso (exceto SELECT
).
Nome da coluna | Tipo | Descrição |
---|---|---|
constraint_catalog |
character varying |
O nome do banco de dados. |
constraint_schema |
character varying |
O nome do esquema que contém a restrição. |
constraint_name |
character varying |
O nome da restrição. |
table_catalog |
character varying |
O nome do banco de dados. |
table_schema |
character varying |
O nome do esquema que contém a tabela associada à restrição. |
table_name |
character varying |
O nome da tabela. |
constraint_type |
character varying |
O tipo da restrição. Os valores possíveis são:
|
is_deferrable |
character varying |
O valor é sempre NO . |
initially_deferred |
character varying |
O valor é sempre NO . |
enforced |
character varying |
Se a restrição foi aplicada. Se uma restrição for aplicada, depois que ela atingir um determinado estado, ela será validada tanto no momento da gravação quanto por um verificador de integridade em segundo plano. De acordo com o padrão SQL, a
string é YES ou NO , em vez de um
valor booleano. |
tables
Essa visualização contém todas as tabelas e visualizações no banco de dados atual.
Nome da coluna | Tipo | Descrição |
---|---|---|
table_catalog |
character varying |
O nome do banco de dados. |
table_schema |
character varying |
O nome do esquema que contém a tabela ou a visualização. |
table_name |
character varying |
O nome da tabela ou visualização. |
table_type |
character varying |
O tipo de tabela. Os valores possíveis incluem "BASE TABLE" e "VIEW". |
self_referencing_column_name |
character varying |
Não usado no momento. |
reference_generation |
character varying |
Não usado no momento. |
user_defined_type_catalog |
character varying |
Não usado no momento. |
user_defined_type_schema |
character varying |
Não usado no momento. |
user_defined_type_name |
character varying |
Não usado no momento. |
is_insertable_into |
character varying |
Não usado no momento. |
is_typed |
character varying |
Não usado no momento. |
commit_action |
character varying |
Não usado no momento. |
parent_table_name |
character varying |
O nome da tabela mãe, se essa tabela for intercalada, ou NULL . |
on_delete_action |
character varying |
Isso é definido como CASCADE ou NO ACTION para
tabelas intercaladas, e NULL se não for. Consulte
Instruções TABLE
para mais informações. |
spanner_state |
character varying |
O estado de criação atual da tabela. Uma tabela poderá passar por vários estados durante a criação, se houver operações em massa envolvidas, por exemplo, quando a tabela for criada com uma chave externa que exija o preenchimento do índice referenciado. Os estados possíveis são:
|
interleave_type |
character varying |
Se há uma relação pai-filho entre esta tabela e a tabela em que ela é intercalada. Os valores possíveis são:
|
row_deletion_policy_expression |
character varying |
Uma string que contém o texto da expressão que define o ROW
DELETION POLICY . |
views
Essa visualização lista informações sobre as visualizações em um esquema.
Nome da coluna | Tipo | Descrição |
---|---|---|
table_catalog |
character varying |
O nome do banco de dados. |
table_schema |
character varying |
O nome do esquema. O valor padrão é "public". |
table_name |
character varying |
Nome da visualização. |
view_definition |
character varying |
É o texto SQL da consulta que define a visualização. |
check_option |
character varying |
Não usado no momento. |
is_updatable |
character varying |
Não usado no momento. |
is_insertable_into |
character varying |
Não usado no momento. |
is_trigger_updatable |
character varying |
Não usado no momento. |
is_trigger_deletable |
character varying |
Não usado no momento. |
is_trigger_insertable_into |
character varying |
Não usado no momento. |
Examples
Retorne informações sobre cada tabela no esquema padrão:
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
Retorne o nome de todas as tabelas e visualizações no information_schema
para
bancos de dados do dialeto do PostgreSQL:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = "information_schema"
Retorna informações sobre as colunas na tabela do usuário 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
Retorne informações sobre cada índice no esquema padrão do banco de dados atual:
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
Retorne todas as colunas que usam opções diferentes do padrão:
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
Retorne as opções de banco de dados atuais relacionadas ao otimizador:
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')
Retorne todos os pacotes de estatísticas disponíveis:
SELECT *
FROM information_schema.spanner_statistics;
A seguir
- Saiba mais sobre as ferramentas disponíveis para investigar problemas do banco de dados.