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

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_schema,
    table_name
  FROM
    information_schema.tables
  WHERE
    table_schema NOT IN ('pg_catalog', 'information_schema', 'SPANNER_SYS')
    AND table_type = 'BASE TABLE'

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 do information_schema para PostgreSQL

As tabelas no information_schema para bancos de dados de dialeto 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 em um banco de dados PostgreSQL de código aberto, e todas as colunas distintas do Spanner são anexadas depois. As consultas escritas para a versão de código aberto do PostgreSQL do information_schema devem funcionar sem modificações ao usar bancos de dados de dialeto PostgreSQL na Google Cloud CLI.

Outras diferenças importantes nos bancos de dados de dialeto information_schema para PostgreSQL são:

  • Algumas das colunas de tabela do PostgreSQL de código aberto estão disponíveis, mas não são preenchidas em bancos de dados de dialeto PostgreSQL.
  • Os bancos de dados do dialeto 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 bancos de dados de dialeto PostgreSQL não estão disponíveis.
  • Algumas tabelas que estão disponíveis no Spanner, mas não no PostgreSQL de código aberto, como database_options, index_columns, indexes e spanner_statistics, estão disponíveis.

Filtragem de linhas em tabelas e visualizações do information_schema

Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader (ou aos membros desse papel) podem ver todas as linhas em todas as tabelas e visualizações do information_schema. Para outros principais, o Spanner filtra as linhas com base no papel atual do banco de dados. As descrições de tabelas e visualizações nas seções a seguir indicam como o Spanner filtra as linhas de cada tabela e visualização.

Tabelas em bancos de dados de dialeto PostgreSQL do information_schema

As tabelas e visualizações no information_schema são compatíveis com as tabelas e visualizações no information_schema do PostgreSQL de código aberto.

As seções a seguir descrevem as tabelas e as visualizações no information_schema para bancos de dados de dialeto PostgreSQL.

applicable_roles

Essa visualização filtrada por linha lista todas as associações de papéis explicitamente concedidas a todos os papéis do banco de dados. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais podem ver apenas as assinaturas de papel concedidas ao papel de banco de dados atual ou a um papel do qual o papel de banco de dados atual é membro.

Como todos os papéis de banco de dados são membros do papel público, os resultados omitem registros de associação implícita no papel público.

Nome da coluna Tipo Descrição
grantee character varying O nome do papel do banco de dados ao qual a associação é concedida.
role_name character varying O nome do papel do banco de dados pai em que essa associação é concedida.
is_grantable character varying Não utilizado. Sempre NO.

change_stream_columns

Essa visualização filtrada por linha contém informações sobre as colunas da tabela e os fluxos de alterações que as monitoram. Cada linha descreve um fluxo de alterações e uma coluna. Se um fluxo de alterações rastrear uma tabela inteira, as colunas dessa tabela não serão mostradas nessa visualização.

Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais podem ver apenas as linhas de fluxo de alterações em que o privilégio SELECT é concedido ao papel de banco de dados atual, aos papéis em que o papel de banco de dados atual é membro ou a public.

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 fluxo de alterações. Para bancos de dados de dialeto PostgreSQL, o padrão é public.
change_stream_name character varying O nome do fluxo de alterações.
table_catalog character varying O nome do banco de dados.
table_schema character varying O nome do esquema da tabela. Para bancos de dados de dialeto PostgreSQL, o padrão é public.
table_name character varying O nome da tabela a que essa linha se refere.
column_name character varying O nome da coluna a que essa linha se refere.

change_stream_options

Essa visualização filtrada por linha contém as opções de configuração para fluxo de alterações. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais podem ver apenas as opções de fluxo de alterações em que o privilégio SELECT é concedido ao papel do banco de dados atual, aos papéis em que o papel do banco de dados atual é membro ou a public.

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 fluxo de alterações. Para bancos de dados de dialeto PostgreSQL, o padrão é public.
change_stream_name character varying O nome do fluxo de alterações.
option_name character varying O nome da opção de fluxo de alterações.
option_type character varying O tipo de dados da opção de fluxo de alterações.
option_value character varying O valor da opção de fluxo de alterações.

change_stream_privileges

Essa visualização filtrada por linha lista todos os privilégios de controle de acesso refinado concedidos em todos os fluxos de alterações a qualquer papel de banco de dados, incluindo public. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais só podem ver os privilégios concedidos em fluxo de alterações ao papel do banco de dados atual, aos papéis de que o papel do banco de dados atual é membro ou a public.

Nome da coluna Tipo Descrição
grantor character varying Não utilizado. Sempre NULL.
grantee character varying O nome do papel do banco de dados ao qual esse privilégio é concedido.
change_stream_catalog character varying O nome do banco de dados.
change_stream_schema character varying O nome do esquema que contém o fluxo de alterações. O padrão é public para bancos de dados de dialeto PostgreSQL.
change_stream_name character varying O nome do fluxo de alterações.
privilege_type character varying O tipo de privilégio (somente SELECT).
is_grantable character varying Não utilizado. Sempre NO.

change_stream_tables

Essa visualização filtrada por linha contém informações sobre tabelas e os fluxo de alterações que as monitoram. Cada linha descreve uma tabela e um fluxo de alterações. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais só podem ver linhas de fluxo de alterações em que o privilégio SELECT é concedido ao papel do banco de dados atual, aos papéis em que o papel do banco de dados atual é membro ou a public.

Os dados em change_stream_tables não incluem as relações implícitas entre tabelas e fluxo de alterações 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 fluxo de alterações. Para bancos de dados de dialeto PostgreSQL, o padrão é public.
change_stream_name character varying O nome do fluxo de alterações a que essa linha se refere.
table_catalog character varying O nome do banco de dados.
table_schema character varying O nome do esquema da tabela. Para bancos de dados de dialeto PostgreSQL, o padrão é public.
table_name character varying O nome da tabela a que essa linha se refere.
all_columns character varying YES se o fluxo de alterações dessa linha rastrear toda a tabela a que essa 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 filtrada por linha lista todos os fluxo de alterações de um banco de dados e indica quais rastreiam todo o banco de dados em comparação com tabelas ou colunas específicas. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais só podem ver os fluxo de alterações em que o privilégio de controle de acesso refinado SELECT é concedido ao papel do banco de dados atual, aos papéis em que o papel do banco de dados atual é membro ou a public.

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 fluxo de alterações. Para bancos de dados de dialeto PostgreSQL, o padrão é public.
change_stream_name character varying O nome do fluxo de alterações.
all character varying YES se esse fluxo de alterações rastrear todo o banco de dados. NO se esse fluxo de alterações 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 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 do dialeto PostgreSQL está validando os dados 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 O nome da coluna gerada.

column_options

Essa visualização lista todas as opções definidas para as colunas da tabela referenciada de uma restrição de chave externa. A visualização contém apenas as colunas na tabela de referência que o usuário atual pode acessar (por ser o proprietário ou ter privilégios concedidos).

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.

column_privileges

Essa visualização filtrada por linha lista todos os privilégios de controle de acesso refinado concedidos em todas as colunas a qualquer papel de banco de dados, incluindo public. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais só podem ver os privilégios concedidos em colunas ao papel do banco de dados atual, aos papéis em que o papel do banco de dados atual é membro ou a public.

A visualização inclui os privilégios SELECT, INSERT e UPDATE que a coluna herda da tabela ou visualização que a contém.

Nome da coluna Tipo Descrição
grantor character varying Não utilizado. Sempre NULL.
grantee character varying O nome do papel do banco de dados ao qual esse privilégio é concedido.
table_catalog character varying O nome do banco de dados.
table_schema character varying O nome do esquema que contém a tabela ou visualização. O padrão é public para bancos de dados de dialeto PostgreSQL.
table_name character varying O nome da tabela ou visualização que contém a coluna.
column_name character varying O nome da coluna.
privilege_type character varying O tipo de privilégio (SELECT, INSERT ou UPDATE).
is_grantable character varying Não utilizado. Sempre NO.

columns

Essa visualização filtrada por linha fornece informações sobre todas as colunas de tabela e de visualização no banco de dados. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais podem ver apenas as colunas que têm privilégios de controle de acesso refinado concedidos a elas (ou os privilégios SELECT, INSERT ou UPDATE concedidos às tabelas que as contêm) para o papel de banco de dados atual, para papéis de que o papel de banco de dados atual é membro ou para public.

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 do 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.
character_maximum_length BIGINT O comprimento máximo declarado para tipos de dados de caracteres e strings de bits. Se um tamanho máximo não tiver sido 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 utilizado. O valor é sempre NULL.
numeric_precision BIGINT A precisão do tipo de dados numéricos da coluna atual. Para double precision, 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. Somente dois valores são aceitos:
  • 2 para double precision float8 e bigint
  • 10 para numeric
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 de base de precisão após o ponto de base. Para bigint, o valor é 0. Para todos os outros tipos de dados, o valor é NULL.
datetime_precision BIGINT Não utilizado. O valor é sempre NULL.
interval_type character varying Não utilizado. O valor é sempre NULL.
interval_precision BIGINT Não utilizado. O valor é sempre NULL.
character_set_catalog character varying Não utilizado. O valor é sempre NULL.
character_set_schema character varying Não utilizado. O valor é sempre NULL.
character_set_name character varying Não utilizado. O valor é sempre NULL.
collation_catalog character varying Não utilizado. O valor é sempre NULL.
collation_schema character varying Não utilizado. O valor é sempre NULL.
collation_name character varying Não utilizado. O valor é sempre NULL.
domain_catalog character varying Não utilizado. O valor é sempre NULL.
domain_schema character varying Não utilizado. O valor é sempre NULL.
domain_name character varying Não utilizado. O valor é sempre NULL.
udt_catalog character varying Não utilizado. O valor é sempre NULL.
udt_schema character varying Não utilizado. O valor é sempre NULL.
udt_name character varying Não utilizado. O valor é sempre NULL.
scope_catalog character varying Não utilizado. O valor é sempre NULL.
scope_schema character varying Não utilizado. O valor é sempre NULL.
scope_name character varying Não utilizado. O valor é sempre NULL.
maximum_cardinality BIGINT Não utilizado. O valor é sempre NULL.
dtd_identifier character varying Não utilizado. O valor é sempre NULL.
is_self_referencing character varying Não utilizado. O valor é sempre NULL.
is_identity character varying Não utilizado. O valor é sempre NULL.
identity_generation character varying Não utilizado. O valor é sempre NULL.
identity_start character varying Não utilizado. O valor é sempre NULL.
identity_increment character varying Não utilizado. O valor é sempre NULL.
identity_maximum character varying Não utilizado. O valor é sempre NULL.
identity_minimum character varying Não utilizado. O valor é sempre NULL.
identity_cycle character varying Não utilizado. 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 gerada.
is_updatable character varying Não utilizado. 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 nenhum efeito 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.
on_update_expression character varying Uma representação de string da expressão "ON UPDATE" para uma coluna. Se a coluna não tiver uma expressão "ON UPDATE", o valor será "NULL".

constraint_column_usage

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

  • Para 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 exclusiva ou primária, essa visualização identifica a tabela à qual a restrição pertence. As restrições de verificação e não nulas não estã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 PostgreSQL.
option_name character varying O nome da opção de banco de dados. Esse é o valor de key na cláusula OPTIONS na 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 de banco de dados.

enabled_roles

Essa visualização filtrada por linha lista os papéis de banco de dados definidos. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todos os papéis do banco de dados. Todos os outros principais só podem ver os papéis do banco de dados aos quais receberam acesso diretamente ou por herança. Todos os papéis do sistema, exceto public, também aparecem nessa visualização.

Nome da coluna Tipo Descrição
role_name character varying O nome do papel.
spanner_is_system character varying YES se o papel for do sistema. Caso contrário, NO.

index_columns

Essa visualização 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 que têm uma especificação PRIMARY KEY têm uma entrada de 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 que não são de 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 que não são de 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 identificar os campos da chave primária.
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 da tabela pai ou uma string vazia se o índice não estiver 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 eles representam são:
  • NULL: o tipo de índice é PRIMARY_KEY
  • PREPARE: criação de tabelas vazias para um novo índice
  • WRITE_ONLY: preenchimento de dados para um novo índice
  • WRITE_ONLY_CLEANUP: limpeza de um novo índice
  • WRITE_ONLY_VALIDATE_UNIQUE: verificação da exclusividade 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, os índices de aplicação secundários 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 exclusiva, de chave primária ou de chave externa. Para informações 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 que contém 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 restrita.
ordinal_position BIGINT A posição ordinal da coluna na chave da restrição, começando com um valor de 1.
position_in_unique_constraint BIGINT Para FOREIGN KEYs, a posição ordinal da coluna na restrição exclusiva, começando com um valor de 1. Essa coluna tem um valor NULL para outros tipos de restrição.

parameters

Essa visualização filtrada por linha define os argumentos para cada função de leitura de fluxo de alterações e definida pelo usuário. Cada linha descreve um argumento para uma função de leitura de fluxo de alterações ou definida pelo usuário.

Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais podem ver apenas parâmetros para funções de leitura de fluxo de alterações e definidas pelo usuário em que o privilégio de controle de acesso refinado EXECUTE é concedido ao papel do banco de dados atual, aos papéis de que o papel do banco de dados atual é membro ou a public.

Nome da coluna Tipo Descrição
specific_catalog character varying O nome do banco de dados.
specific_schema character varying O nome do esquema da rotina. Para bancos de dados de dialeto PostgreSQL, o padrão é public.
specific_name character varying O nome da rotina. Identifica exclusivamente a rotina, mesmo que o nome dela esteja sobrecarregado.
ordinal_position bigint A posição ordinal do parâmetro na lista de argumentos da rotina, começando com o valor 1.
parameter_mode character varying Não utilizado. Sempre NULL.
is_result character varying Não utilizado. Sempre NULL.
as_locator character varying Não utilizado. Sempre NULL.
parameter_name character varying O nome do parâmetro.
data_type character varying O tipo de dados do parâmetro. O valor é um dos seguintes:
  • Para tipos integrados, o nome do tipo de dados.
  • Para matrizes, o valor ARRAY.
character_maximum_length bigint Não utilizado. Sempre NULL.
character_octet_length bigint Não utilizado. O valor é sempre NULL.
character_set_catalog character varying Não utilizado. O valor é sempre NULL.
character_set_schema character varying Não utilizado. O valor é sempre NULL.
character_set_name character varying Não utilizado. O valor é sempre NULL.
collation_catalog character varying Não utilizado. O valor é sempre NULL.
collation_schema character varying Não utilizado. O valor é sempre NULL.
collation_name character varying Não utilizado. O valor é sempre NULL.
numeric_precision bigint Não utilizado. O valor é sempre NULL.
numeric_precision_radix bigint Não utilizado. O valor é sempre NULL.
numeric_scale bigint Não utilizado. O valor é sempre NULL.
datetime_precision bigint Não utilizado. O valor é sempre NULL.
interval_type character varying Não utilizado. O valor é sempre NULL.
interval_precision bigint Não utilizado. O valor é sempre NULL.
udt_catalog character varying Não utilizado. O valor é sempre NULL.
udt_schema character varying Não utilizado. O valor é sempre NULL.
udt_name character varying Não utilizado. O valor é sempre NULL.
scope_catalog character varying Não utilizado. O valor é sempre NULL.
scope_schema character varying Não utilizado. O valor é sempre NULL.
scope_name character varying Não utilizado. O valor é sempre NULL.
maximum_cardinality bigint Não utilizado. O valor é sempre NULL.
dtd_identifier character varying Não utilizado. O valor é sempre NULL.
parameter_default character varying Não utilizado. O valor é sempre NULL.
spanner_type character varying O tipo de retorno detalhado da rotina. Inclui o subtipo se um ARRAY for retornado.

placements

Esta tabela lista as posições no banco de dados.

Nome da coluna Tipo Descrição
placement_name character varying É o nome da posição.
is_default 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.

placement-options

Para cada posição, essa tabela lista as opções definidas na posição na cláusula OPTIONS da instrução CREATE PLACEMENT.

Nome da coluna Tipo Descrição
placement_name character varying É o nome da posição.
option_name character varying O nome da opção de posicionamento. Os valores válidos para option_name incluem:
  • instance_partition
  • default_leader
option_type character varying O tipo de dados da opção de posicionamento.
option_value character varying O valor da opção de posicionamento. Para instance_partition, esse é o nome da partição da instância. Para default_leader, é o nome da região líder padrão.

locality-group-options

Para cada grupo de localidade, esta tabela lista o nome e as opções definidas no grupo de localidade na cláusula OPTIONS da instrução CREATE LOCALITY GROUP.

Nome da coluna Tipo Descrição
locality_group_name character varying O nome do grupo de localidades.
option_name character varying O nome da opção de grupo de localidade. As opções válidas são:
  • storage: define o tipo de armazenamento do grupo de localidade.
  • ssd_to_hdd_spill_timespan: define por quanto tempo os dados são armazenados no SSD antes de serem movidos para o HDD.
option_value character varying O valor da opção de grupo de localidade. Para storage, é ssd ou hdd. Para ssd_to_hdd_spill_timespan, esse é o período em que os dados precisam ser armazenados em SSD antes de serem movidos para o armazenamento em HDD. Por exemplo, 10d é 10 dias. O período mínimo que você pode definir é de uma hora.

referential_constraints

Essa visualização contém uma linha sobre cada restrição FOREIGN KEY. Só é possível ver as restrições para as quais você tem acesso de gravação à tabela de referência. Essa visualização também identifica as restrições PRIMARY KEY e UNIQUE nas tabelas referenciadas que as chaves externas 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 exclusiva ou primária referenciada pela restrição de chave externa.
unique_constraint_name character varying O nome da restrição de chave exclusiva ou primária que é 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 é CASCADE, SET NULL ou 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 aplicação da chave externa sejam criados e preenchidos. Quando os índices estiverem prontos, o Spanner vai 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:
  • BACKFILLING_INDEXES: os índices estão sendo preenchidos.
  • VALIDATING_DATA: os dados atuais e as novas gravações estão sendo validados.
  • WAITING_FOR_COMMIT: as operações em massa de chave externa foram concluídas com sucesso ou nenhuma foi necessária, mas a chave externa ainda está pendente.
  • COMMITTED: a alteração do esquema foi confirmada.

role_change_stream_grants

Essa visualização filtrada por linha lista os privilégios SELECT concedidos em todos os fluxos de alterações para qualquer papel de banco de dados, incluindo public. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais só podem ver os privilégios concedidos em fluxo de alterações ao papel de banco de dados atual e aos papéis de que o papel de banco de dados atual é membro, exceto public.

Nome da coluna Tipo Descrição
grantor character varying Não utilizado. Sempre NULL.
grantee character varying O nome do papel do banco de dados ao qual esse privilégio é concedido.
change_stream_catalog character varying O nome do banco de dados.
change_stream_schema character varying O nome do esquema que contém o fluxo de alterações. O padrão é public para bancos de dados de dialeto PostgreSQL.
change_stream_name character varying O nome do fluxo de alterações.
privilege_type character varying O tipo de privilégio (somente SELECT).
is_grantable character varying Não utilizado. Sempre NO.

role_column_grants

Essa visualização filtrada por linha lista todos os privilégios de controle de acesso refinado concedidos em todas as colunas a qualquer papel de banco de dados, incluindo public. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais só podem ver os privilégios concedidos em colunas ao papel de banco de dados atual e aos papéis de que o papel de banco de dados atual é membro, exceto public.

A visualização inclui os privilégios SELECT, INSERT e UPDATE que a coluna herda da tabela ou visualização que a contém.

Nome da coluna Tipo Descrição
grantor character varying Não utilizado. Sempre NULL.
grantee character varying O nome do papel do banco de dados ao qual esse privilégio é concedido.
table_catalog character varying O nome do banco de dados.
table_schema character varying O nome do esquema que contém a tabela ou visualização. O padrão é public para bancos de dados de dialeto PostgreSQL.
table_name character varying O nome da tabela ou visualização que contém a coluna.
column_name character varying O nome da coluna.
privilege_type character varying O tipo de privilégio (SELECT, INSERT ou UPDATE).
is_grantable character varying Não utilizado. Sempre NO.

role_routine_grants

Essa visualização filtrada por linha lista os privilégios EXECUTE concedidos em todas as funções de leitura do fluxo de alterações para qualquer papel de banco de dados, incluindo public. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais podem ver apenas os privilégios concedidos em funções de leitura de fluxo de alterações ao papel de banco de dados atual e aos papéis de que o papel de banco de dados atual é membro, exceto public.

Nome da coluna Tipo Descrição
grantor character varying Não utilizado. Sempre NULL.
grantee character varying O nome do papel ao qual o privilégio foi concedido.
specific_catalog character varying O nome do banco de dados.
specific_schema character varying O nome do esquema da rotina. Para bancos de dados de dialeto PostgreSQL, o padrão é public.
specific_name character varying O nome da rotina. Identifica exclusivamente a rotina, mesmo que o nome dela esteja sobrecarregado.
routine_catalog character varying O nome do banco de dados.
routine_schema character varying O nome do esquema da rotina. O padrão é public para bancos de dados de dialeto PostgreSQL.
routine_name character varying O nome da rotina. Pode ser duplicado em caso de sobrecarga.
privilege_type character varying O tipo de privilégio concedido. Sempre EXECUTE.
is_grantable character varying Não utilizado. Sempre NO.

role_table_grants

Essa visualização filtrada por linha lista todos os privilégios de controle de acesso refinado concedidos em todas as tabelas e visualizações a qualquer papel de banco de dados, incluindo public. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais só podem ver os privilégios concedidos em tabelas e visualizações ao papel de banco de dados atual e aos papéis de que o papel de banco de dados atual é membro, sem incluir public.

Nome da coluna Tipo Descrição
grantor character varying Não utilizado. Sempre NULL.
grantee character varying O nome do papel do banco de dados ao qual esse privilégio é concedido.
table_catalog character varying O nome do banco de dados.
table_schema character varying O nome do esquema que contém a tabela ou visualização. O padrão é public para bancos de dados de dialeto PostgreSQL.
table_name character varying O nome da tabela ou visualização.
privilege_type character varying O tipo do privilégio (SELECT, INSERT, UPDATE ou DELETE).
is_grantable character varying Não utilizado. Sempre NO.
with_hierarchy character varying Não utilizado. Sempre NULL.

routine_options

Essa visualização filtrada por linha contém uma linha para cada opção de cada função de leitura de fluxo de alterações definida.

Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais podem ver apenas as opções para funções de leitura de fluxo de alterações em que o privilégio de controle de acesso refinado EXECUTE é concedido ao papel do banco de dados atual, aos papéis em que o papel do banco de dados atual é membro ou a public.

Nome da coluna Tipo Descrição
specific_catalog character varying O nome do banco de dados.
specific_schema character varying O nome do esquema da rotina. O padrão é public para bancos de dados de dialeto PostgreSQL.
specific_name character varying O nome da rotina. Identifica exclusivamente a rotina, mesmo que o nome dela esteja sobrecarregado.
option_name character varying O nome da opção.
option_type character varying O tipo de dados da opção. O valor é um dos seguintes:
  • Para tipos integrados, o nome do tipo de dados.
  • Para matrizes, o valor ARRAY.
option_value character varying O valor da opção.

routine_privileges

Essa visualização filtrada por linha lista todos os privilégios de controle de acesso refinado concedidos em todas as funções de leitura de fluxo de alterações para qualquer papel de banco de dados, incluindo public. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais podem ver apenas os privilégios concedidos em funções de leitura de fluxo de alterações ao papel de banco de dados atual, aos papéis de que o papel de banco de dados atual é membro ou a public.

Nome da coluna Tipo Descrição
grantor character varying Não utilizado. Sempre NULL.
grantee character varying O nome do papel ao qual o privilégio foi concedido.
specific_catalog character varying O nome do banco de dados.
specific_schema character varying O nome do esquema da rotina. Para bancos de dados de dialeto PostgreSQL, o padrão é public.
specific_name character varying O nome da rotina. Identifica exclusivamente a rotina, mesmo que o nome dela esteja sobrecarregado.
routine_catalog character varying O nome do banco de dados.
routine_schema character varying O nome do esquema da rotina. O padrão é public.
routine_name character varying O nome da rotina. (Pode ser duplicado se estiver sobrecarregado.)
privilege_type character varying O tipo de privilégio concedido.
is_grantable character varying Não utilizado. Sempre NO.

routines

Essa visualização filtrada por linha lista todas as funções de leitura de fluxo de alterações e definidas pelo usuário de um banco de dados. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais só podem ver as funções de leitura de fluxo de alterações e definidas pelo usuário em que o privilégio de controle de acesso refinado EXECUTE é concedido ao papel do banco de dados atual, aos papéis em que o papel do banco de dados atual é membro ou a public.

Nome da coluna Tipo Descrição
specific_catalog character varying O nome do banco de dados.
specific_schema character varying O nome do esquema da rotina. O padrão é public para bancos de dados de dialeto PostgreSQL.
specific_name character varying O nome da rotina. Identifica exclusivamente a rotina, mesmo que o nome dela esteja sobrecarregado.
routine_catalog character varying O nome do banco de dados.
routine_schema character varying O nome do esquema da rotina.
routine_name character varying O nome da rotina. Pode ser duplicado em caso de sobrecarga.
routine_type character varying O tipo da rotina (FUNCTION ou PROCEDURE). Sempre FUNCTION
module_catalog character varying Não utilizado. O valor é sempre NULL.
module_schema character varying Não utilizado. O valor é sempre NULL.
module_name character varying Não utilizado. O valor é sempre NULL.
udt_catalog character varying Não utilizado. O valor é sempre NULL.
udt_schema character varying Não utilizado. O valor é sempre NULL.
udt_name character varying Não utilizado. O valor é sempre NULL.
data_type character varying O tipo de retorno da rotina. O valor é um dos seguintes:
  • Para tipos integrados, o nome do tipo de dados.
  • Para matrizes, o valor ARRAY.
character_maximum_length bigint Não utilizado. O valor é sempre NULL.
character_octet_length bigint Não utilizado. O valor é sempre NULL.
character_set_catalog character varying Não utilizado. O valor é sempre NULL.
character_set_schema character varying Não utilizado. O valor é sempre NULL.
character_set_name character varying Não utilizado. O valor é sempre NULL.
collation_catalog character varying Não utilizado. O valor é sempre NULL.
collation_schema character varying Não utilizado. O valor é sempre NULL.
collation_name character varying Não utilizado. O valor é sempre NULL.
numeric_precision bigint Não utilizado. O valor é sempre NULL.
numeric_precision_radix bigint Não utilizado. O valor é sempre NULL.
numeric_scale bigint Não utilizado. O valor é sempre NULL.
datetime_precision bigint Não utilizado. O valor é sempre NULL.
interval_type character varying Não utilizado. O valor é sempre NULL.
interval_precision bigint Não utilizado. O valor é sempre NULL.
type_udt_catalog character varying Não utilizado. O valor é sempre NULL.
type_udt_schema character varying Não utilizado. O valor é sempre NULL.
type_udt_name character varying Não utilizado. O valor é sempre NULL.
scope_catalog character varying Não utilizado. O valor é sempre NULL.
scope_schema character varying Não utilizado. O valor é sempre NULL.
scope_name character varying Não utilizado. O valor é sempre NULL.
maximum_cardinality bigint Não utilizado. O valor é sempre NULL.
dtd_identifier character varying Não utilizado. O valor é sempre NULL.
routine_body character varying O tipo do corpo da rotina (SQL ou EXTERNAL).
routine_definition character varying A definição do SQL routine_body, vazia caso contrário.
external_name character varying Não utilizado. O valor é sempre NULL.
external_language character varying Não utilizado. O valor é sempre NULL.
parameter_style character varying Não utilizado. O valor é sempre NULL.
is_deterministic character varying Não utilizado. O valor é sempre NULL.
sql_data_access character varying Não utilizado. O valor é sempre NULL.
is_null_call character varying Não utilizado. O valor é sempre NULL.
sql_path character varying Não utilizado. O valor é sempre NULL.
schema_level_routine character varying Não utilizado. O valor é sempre NULL.
max_dynamic_result_sets character varying Não utilizado. O valor é sempre NULL.
is_user_defined_cast character varying Não utilizado. O valor é sempre NULL.
is_implicitly_invocable character varying Não utilizado. O valor é sempre NULL.
security_type character varying O tipo de segurança da rotina. Somente INVOKER é aceito.
to_sql_specific_catalog character varying Não utilizado. O valor é sempre NULL.
to_sql_specific_schema character varying Não utilizado. O valor é sempre NULL.
to_sql_specific_name character varying Não utilizado. O valor é sempre NULL.
as_locator character varying Não utilizado. O valor é sempre NULL.
created timestamp with time zone Não utilizado. O valor é sempre NULL.
last_altered timestamp with time zone Não utilizado. O valor é sempre NULL.
new_savepoint_level character varying Não utilizado. O valor é sempre NULL.
is_udt_dependent character varying Não utilizado. O valor é sempre NULL.
result_cast_from_data_type character varying Não utilizado. O valor é sempre NULL.
result_cast_as_locator character varying Não utilizado. O valor é sempre NULL.
result_cast_char_max_length bigint Não utilizado. O valor é sempre NULL.
result_cast_char_octet_length bigint Não utilizado. O valor é sempre NULL.
result_cast_char_set_catalog character varying Não utilizado. O valor é sempre NULL.
result_cast_char_set_schema character varying Não utilizado. O valor é sempre NULL.
result_cast_char_set_name character varying Não utilizado. O valor é sempre NULL.
result_cast_collation_catalog character varying Não utilizado. O valor é sempre NULL.
result_cast_collation_schema character varying Não utilizado. O valor é sempre NULL.
result_cast_collation_name character varying Não utilizado. O valor é sempre NULL.
result_cast_numeric_precision bigint Não utilizado. O valor é sempre NULL.
result_cast_numeric_precision_radix bigint Não utilizado. O valor é sempre NULL.
result_cast_numeric_scale bigint Não utilizado. O valor é sempre NULL.
result_cast_datetime_precision bigint Não utilizado. O valor é sempre NULL.
result_cast_interval_type character varying Não utilizado. O valor é sempre NULL.
result_cast_interval_precision bigint Não utilizado. O valor é sempre NULL.
result_cast_type_udt_catalog character varying Não utilizado. O valor é sempre NULL.
result_cast_type_udt_schema character varying Não utilizado. O valor é sempre NULL.
result_cast_type_udt_name character varying Não utilizado. O valor é sempre NULL.
result_cast_scope_catalog character varying Não utilizado. O valor é sempre NULL.
result_cast_scope_schema character varying Não utilizado. O valor é sempre NULL.
result_cast_scope_name character varying Não utilizado. O valor é sempre NULL.
result_cast_maximum_cardinality bigint Não utilizado. O valor é sempre NULL.
result_cast_dtd_identifier character varying Não utilizado. O valor é sempre NULL.
spanner_type character varying O tipo de retorno detalhado da rotina. Inclui o subtipo se um ARRAY for retornado.
spanner_determinism character varying O determinismo especificado pelo usuário da função (DETERMINISTIC, NOT_DETERMINISTIC_STABLE ou NOT_DETERMINISTIC_VOLATILE). Para mais informações, consulte a descrição de [provolatile](https://www.postgresql.org/docs/current/catalog-pg-proc.html#:~:text=provolatile).

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. Ele é definido como public para o 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 utilizado.
default_character_set_schema character varying Não utilizado.
default_character_set_name character varying Não utilizado.
sql_path character varying Não utilizado.
effective_timestamp timestamp with timezone O carimbo de data/hora em que todos os dados desse esquema entraram em vigor. Isso é usado apenas para o esquema padrão.

sequences

A visualização information_schema.sequences contém os metadados sequences.

Nome da coluna Tipo Descrição
sequence_catalog character varying O nome do banco de dados.
sequence_schema character varying O nome do esquema da sequência. O padrão é public para um banco de dados de dialeto PostgreSQL.
sequence_name character varying O nome da sequência.
data_type character varying A sequência só aceita int8.
numeric_precision bigint Não utilizado. O valor é sempre "NULL".
numeric_precision_radix bigint Não utilizado. O valor é sempre "NULL".
numeric_scale bigint Não utilizado. O valor é sempre "NULL".
start_value bigint Não utilizado. O valor é sempre "NULL".
minimum_value bigint Não utilizado. O valor é sempre "NULL".
maximum_value bigint Não utilizado. O valor é sempre "NULL".
increment bigint Não utilizado. O valor é sempre "NULL".
cycle_option character varying A única opção que sequence aceita é no.
sequence_kind character varying O tipo de sequência. bit_reversed_positive é o único valor aceitável.
counter_start_value bigint Valor inicial do contador de sequência.
skip_range_min bigint O valor mínimo no intervalo ignorado. Esse valor será NULL se não estiver definido.
skip_range_max bigint O valor máximo no intervalo ignorado. Esse valor será NULL se não estiver definido.

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 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 antes de referenciar o pacote de estatísticas em uma dica ou pela API do cliente.

table_constraints

Essa visualização contém todas as restrições que pertencem às tabelas que o usuário atual pode acessar (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
  • PLACEMENT 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 é aplicada. Se uma restrição for aplicada (depois de atingir um determinado estado), ela será validada no momento da gravação e 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.

table_privileges

Essa visualização filtrada por linha lista todos os privilégios de controle de acesso refinado concedidos em todas as tabelas e visualizações a qualquer papel de banco de dados, incluindo public. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as linhas nessa visualização. Todos os outros principais só podem ver os privilégios concedidos em tabelas e visualizações ao papel atual do banco de dados, aos papéis de que o papel atual do banco de dados é membro ou a public.

Nome da coluna Tipo Descrição
grantor character varying Não utilizado. Sempre NULL.
grantee character varying O nome do papel do banco de dados ao qual esse privilégio é concedido.
table_catalog character varying O nome do banco de dados.
table_schema character varying O nome do esquema que contém a tabela ou visualização. O padrão é public para bancos de dados de dialeto PostgreSQL.
table_name character varying O nome da tabela ou visualização.
privilege_type character varying O tipo do privilégio (SELECT, INSERT, UPDATE ou DELETE).
is_grantable character varying Não utilizado. Sempre NO.
that have_hierarchy character varying Não utilizado. Sempre NULL.

tables

Essa visualização filtrada por linha lista todas as tabelas e visualizações que estão no banco de dados atual. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as tabelas e visualizações. Todos os outros principais podem ver apenas tabelas que atendem a um dos seguintes requisitos:

  • Os privilégios de controle de acesso refinado SELECT, INSERT, UPDATE ou DELETE são concedidos na tabela ao papel do banco de dados atual, aos papéis em que o papel do banco de dados atual é membro ou a public.
  • Os privilégios SELECT, INSERT ou UPDATE são concedidos em qualquer coluna de tabela ao papel atual do banco de dados, aos papéis em que o papel atual do banco de dados é membro ou a public.

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 visualização.
table_name character varying O nome da tabela, visualização ou sinônimo.
table_type character varying O tipo de tabela. Os valores possíveis incluem "tabela base", "VIEW" ou "SYNONYM".
self_referencing_column_name character varying Não utilizado.
reference_generation character varying Não utilizado.
user_defined_type_catalog character varying Não utilizado.
user_defined_type_schema character varying Não utilizado.
user_defined_type_name character varying Não utilizado.
is_insertable_into character varying Não utilizado.
is_typed character varying Não utilizado.
commit_action character varying Não utilizado.
parent_table_name character varying O nome da tabela pai se esta tabela estiver intercalada ou NULL.
on_delete_action character varying É definido como CASCADE ou NO ACTION para tabelas intercaladas e NULL caso contrário. Consulte Instruções TABLE para mais informações.
spanner_state character varying O estado de criação atual da tabela.
Uma tabela pode passar por vários estados durante a criação, se operações em massa estiverem envolvidas, por exemplo, quando a tabela é criada com uma chave externa que requer o preenchimento do índice referenciado. Os estados possíveis são:
  • ADDING_FOREIGN_KEY: adicionar as chaves externas da tabela
  • WAITING_FOR_COMMIT: finalização da mudança de 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 existe uma relação pai-filho entre essa tabela e a tabela em que ela está intercalada. Os valores possíveis são:
  • IN: uma tabela INTERLEAVE IN que não tem relação pai-filho. Uma linha nessa tabela pode existir independentemente da existência da linha da tabela pai.
  • IN PARENT: uma tabela INTERLEAVE IN PARENT que tem uma relação pai-filho. Uma linha nessa tabela requer a existência da linha da tabela pai.
row_deletion_policy_expression character varying Uma string que contém o texto da expressão que define o ROW DELETION POLICY.

table_synonyms

Esta tabela lista informações de sinônimos para a tabela.

Nome da coluna Tipo Descrição
CATALOG STRING O nome do catálogo que contém a tabela.
SCHEMA STRING O nome do esquema que contém a tabela.
TABLE_NAME STRING Nome da tabela.
SYNONYM_CATALOG STRING O nome do catálogo do sinônimo.
SYNONYM_SCHEMA STRING O nome do esquema do sinônimo.
SYNONYM_TABLE_NAME STRING O nome da tabela do sinônimo.

views

Essa visualização filtrada por linha lista todas as visualizações no banco de dados atual. Os principais que têm permissões do IAM no nível do banco de dados e os principais que receberam acesso ao papel do sistema spanner_info_reader ou aos membros desse papel podem ver todas as visualizações. Todos os outros principais só podem ver as visualizações que têm o privilégio de controle de acesso refinado SELECT concedido a eles para o papel de banco de dados atual, para papéis em que o papel de banco de dados atual é membro ou para public.

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 utilizado.
is_updatable character varying Não utilizado.
is_insertable_into character varying Não utilizado.
is_trigger_updatable character varying Não utilizado.
is_trigger_deletable character varying Não utilizado.
is_trigger_insertable_into character varying Não utilizado.
security_type character varying O tipo de segurança da visualização. INVOKER ou DEFINER.

Para mais informações, consulte Sobre as visualizações.

Exemplos

Retorne informações sobre cada tabela no esquema do usuário:

SELECT
  t.table_schema,
  t.table_catalog,
  t.table_name,
  t.parent_table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_schema NOT IN ('pg_catalog', 'information_schema', 'SPANNER_SYS')
  AND t.table_type = 'BASE TABLE'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name

Retorne o nome de todas as tabelas e visualizações no information_schema para bancos de dados de dialeto PostgreSQL:

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

Retornar informações sobre colunas na tabela de usuário my_table no esquema padrão:

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 no banco de dados atual: ```postgresql SELECT t.table_name, t.index_name, t.parent_table_name FROM information_schema.indexes AS t WHERE t.table_schema = 'public' AND t.index_type != 'PRIMARY_KEY' ORDER BY t.table_schema, t.table_name, t.index_name

Retorne colunas que usam opções não padrão no esquema 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 atuais do banco de dados 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;
``` ## What's
next {: #whats-next}

+   Learn about available [Introspection tools](/spanner/docs/introspection) to
help you investigate database issues.