Esquema de informações para bancos de dados do dialeto do PostgreSQL

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

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.

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 e spanner_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:
  • VALIDATING: o banco de dados de dialeto do PostgreSQL está validando os dados existentes de um comando ALTER CONSTRAINT ou ADD CONSTRAINT.
  • COMMITTED: não há alteração de esquema ativa para essa restrição.

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:
  • Para tipos integrados, o nome do tipo de dados.
  • Para matrizes, o valor ARRAY. Para mais informações sobre o tipo de dados, consulte a visualização `element_types`.
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:
  • 2 para `precisão dupla`, `float8` e `bigint`
  • 10 para "numérico"
Para todos os outros tipos de dados, o valor é "NULL".
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:
  • NO_WRITE: nenhuma leitura ou gravação é permitida nas colunas. Uma coluna gerada armazenada nesse estado não causa efeito algum no cliente.
  • WRITE_ONLY: a coluna está sendo preenchida. Nenhuma leitura é permitida.
  • COMMITTED: a coluna pode ser totalmente utilizada.
  • NULL: usado para colunas em esquemas do sistema.

constraint_column_usage

Essa visualização contém uma linha sobre cada coluna usada por uma restrição.

  • Para as restrições PRIMARY KEY e CHECK definidas pela palavra-chave NOT NULL, a visualização contém essas colunas.
  • Para restrições CHECK criadas com a palavra-chave CHECK, 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 de KEY_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:
  • NULL: o tipo de índice é "PRIMARY_KEY"
  • PREPARE: como criar tabelas vazias para um novo índice
  • WRITE_ONLY: preenchimento de dados para um novo índice.
  • WRITE_ONLY_CLEANUP: limpar um novo índice
  • WRITE_ONLY_VALIDATE_UNIQUE: verificar a singularidade dos dados em um novo índice
  • READ_WRITE: operação de índice normal
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 KEYs, 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:
  • BACKFILLING_INDEXES: os índices estão sendo preenchidos.
  • VALIDATING_DATA: dados existentes e novas gravações estão sendo validados.
  • WAITING_FOR_COMMIT: as operações em massa de chaves estrangeiras foram concluídas com êxito, ou nenhuma foi necessária, mas a chave externa ainda está pendente.
  • COMMITTED: a alteração do esquema foi confirmada.

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:
  • CHECK
  • FOREIGN KEY
  • PRIMARY KEY
  • UNIQUE
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:
  • ADDING_FOREIGN_KEY: como adicionar as chaves externas da tabela
  • WAITING_FOR_COMMIT: como finalizar a mudança do esquema
  • COMMITTED: a alteração do esquema para criar a tabela foi confirmada. Não é possível gravar na tabela até que a alteração seja confirmada.
  • NULL: tabelas ou visualizações que não são tabelas base.
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:
  • IN: uma tabela "INTERLEAVE IN" sem relação pai-filho. Pode haver uma linha independentemente da existência da linha da tabela pai.
  • IN PARENT: uma tabela "INTERLEAVE IN PARENT" com uma relação pai-filho. Uma linha nesta tabela requer a existência da linha de tabela mãe.
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