Esquema de informações para bases de dados com dialeto PostgreSQL

O esquema de informações é um esquema incorporado comum a todas as bases de dados do PostgreSQL. Pode executar consultas SQL em tabelas no information_schema para obter metadados de esquemas para uma base de dados.

Por exemplo, a consulta seguinte obtém os nomes de todas as tabelas definidas pelo utilizador numa base 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'

Utilização

  • As tabelas information_schema só estão disponíveis através de interfaces SQL, por exemplo:

    • A API executeQuery
    • O comando gcloud spanner databases execute-sql
    • A página Consulta de uma base de dados na Google Cloud consola.

    Outros métodos de leitura única não são compatíveis com information_schema.

Diferenças em relação ao information_schema para PostgreSQL

As tabelas no information_schema para bases de dados com 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. Nestas tabelas, as colunas do PostgreSQL de código aberto aparecem primeiro e na mesma ordem que numa base de dados do PostgreSQL de código aberto. As colunas distintas do Spanner são anexadas posteriormente. As consultas escritas para a versão PostgreSQL de código aberto do information_schema devem funcionar sem modificação quando usar bases de dados com dialeto PostgreSQL na CLI do Google Cloud.

Outras diferenças notáveis no information_schema para bases de dados de dialeto PostgreSQL são:

  • Algumas das colunas da tabela para o PostgreSQL de código aberto estão disponíveis, mas não são preenchidas em bases de dados de dialeto PostgreSQL.
  • As bases de dados com dialeto PostgreSQL usam public para o nome do esquema predefinido.
  • Os nomes das restrições gerados automaticamente usam um formato diferente das bases de dados PostgreSQL de código aberto.
  • As tabelas relacionadas com funcionalidades do PostgreSQL de código aberto que não são suportadas em bases de dados com dialeto PostgreSQL não estão disponíveis.
  • Algumas tabelas que estão disponíveis com o Spanner, mas não com o PostgreSQL de código aberto, como database_options, index_columns, indexes e spanner_statistics, estão disponíveis.

Filtragem de linhas em information_schema tabelas e vistas

Os principais que têm autorizações de IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader (ou a membros dessa função) podem ver todas as linhas em todas as tabelas e vistas information_schema. Para outros principais, o Spanner filtra as linhas com base na função da base de dados atual. As descrições das tabelas e das vistas nas secções seguintes indicam como o Spanner filtra as linhas para cada tabela e vista.

Tabelas no information_schema para bases de dados com dialeto PostgreSQL

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

As secções seguintes descrevem as tabelas e as vistas nas bases de dados de dialeto PostgreSQL.information_schema

applicable_roles

Esta vista filtrada por linhas apresenta todas as associações de funções que são concedidas explicitamente a todas as funções da base de dados. Os principais que têm autorizações de IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função de sistema spanner_info_reader ou a membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver as associações de funções que são concedidas à função de base de dados atual ou a uma função da qual a função de base de dados atual é membro.

Uma vez que todas as funções da base de dados são membros da função pública, os resultados omitem registos de associação implícita à função pública.

Nome da coluna Tipo Descrição
grantee character varying O nome da função da base de dados à qual a associação é concedida.
role_name character varying O nome da função da base de dados principal na qual esta associação é concedida.
is_grantable character varying Não usado. Sempre NO.

change_stream_columns

Esta vista filtrada por linhas contém informações sobre as colunas da tabela e as streams de alterações que as monitorizam. Cada linha descreve um fluxo de alterações e uma coluna. Se um fluxo de alterações monitorizar uma tabela inteira, as colunas nessa tabela não são apresentadas nesta vista.

Os principais que têm autorizações de IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou aos membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver linhas para streams de alterações nas quais o privilégio SELECT é concedido à função de base de dados atual, a funções das quais a função de base de dados atual é membro ou a public.

Nome da coluna Tipo Descrição
change_stream_catalog character varying O nome da base de dados.
change_stream_schema character varying O nome do esquema da stream de alterações. Para bases de dados com dialeto PostgreSQL, o valor predefinido é public.
change_stream_name character varying O nome da stream de alterações.
table_catalog character varying O nome da base de dados.
table_schema character varying O nome do esquema da tabela. Para bases de dados com dialeto PostgreSQL, o valor predefinido é public.
table_name character varying O nome da tabela a que esta linha se refere.
column_name character varying O nome da coluna à qual esta linha se refere.

change_stream_options

Esta vista filtrada por linhas contém as opções de configuração para streams de alterações. Os principais que têm autorizações de IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou a membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver as opções de streams de alterações nas quais o privilégio SELECT é concedido à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.

Nome da coluna Tipo Descrição
change_stream_catalog character varying O nome da base de dados.
change_stream_schema character varying O nome do esquema da stream de alterações. Para bases de dados com dialeto PostgreSQL, o valor predefinido é public.
change_stream_name character varying O nome da stream de alterações.
option_name character varying O nome da opção de stream de alterações.
option_type character varying O tipo de dados da opção de stream de alterações.
option_value character varying O valor da opção de stream de alterações.

change_stream_privileges

Esta vista filtrada por linhas apresenta todos os privilégios de controlo de acesso detalhado concedidos em todos os fluxos de alterações a qualquer função de base de dados, incluindo public. Os principais que têm autorizações do IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou a membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver os privilégios concedidos em streams de alterações à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.

Nome da coluna Tipo Descrição
grantor character varying Não usado. Sempre NULL.
grantee character varying O nome da função da base de dados à qual este privilégio é concedido.
change_stream_catalog character varying O nome da base de dados.
change_stream_schema character varying O nome do esquema que contém a stream de alterações. A predefinição é public para bases de dados com dialeto PostgreSQL.
change_stream_name character varying O nome da stream de alterações.
privilege_type character varying O tipo de privilégio (apenas SELECT).
is_grantable character varying Não usado. Sempre NO.

change_stream_tables

Esta visualização filtrada por linhas contém informações sobre as tabelas e os fluxos de alterações que as monitorizam. Cada linha descreve uma tabela e uma stream de alterações. Os principais que têm autorizações de IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou a membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver linhas para fluxos de alterações nos quais o privilégio SELECT é concedido à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.

Os dados em change_stream_tables não incluem as relações implícitas entre tabelas e streams de alterações que monitorizam toda a base de dados.

Nome da coluna Tipo Descrição
change_stream_catalog character varying O nome da base de dados.
change_stream_schema character varying O nome do esquema da stream de alterações. Para bases de dados com dialeto PostgreSQL, o valor predefinido é public.
change_stream_name character varying O nome da stream de alterações a que esta linha se refere.
table_catalog character varying O nome da base de dados.
table_schema character varying O nome do esquema da tabela. Para bases de dados com dialeto PostgreSQL, o valor predefinido é public.
table_name character varying O nome da tabela a que esta linha se refere.
all_columns character varying YES se a stream de alterações desta linha monitorizar a totalidade da tabela a que esta linha se refere. Caso contrário, NO. De acordo com a norma SQL, a string é YES ou NO, em vez de um valor booleano.

change_streams

Esta vista filtrada por linhas apresenta todas as streams de alterações de uma base de dados e indica quais rastreiam a base de dados completa em comparação com tabelas ou colunas específicas. Os principais que têm autorizações de IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou a membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver fluxos de alterações nos quais o privilégio de controlo de acesso detalhado é concedido à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.SELECT

Nome da coluna Tipo Descrição
change_stream_catalog character varying O nome da base de dados.
change_stream_schema character varying O nome do esquema desta stream de alterações. Para bases de dados com dialeto PostgreSQL, o valor predefinido é public.
change_stream_name character varying O nome da stream de alterações.
all character varying YES se esta stream de alterações monitorizar toda a base de dados. NO se este fluxo de alterações monitorizar tabelas ou colunas específicas. De acordo com a norma SQL, a string é YES ou NO, em vez de um valor booleano.

check_constraints

A vista 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 da base de dados.
constraint_schema character varying O nome do esquema da restrição. A predefinição é public para bases 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, é usado o nome gerado automaticamente.
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: A base de dados de dialeto PostgreSQL está a validar os dados existentes para um comando ALTER CONSTRAINT ou ADD CONSTRAINT.
  • COMMITTED: não existe nenhuma alteração de esquema ativa para esta restrição.

column_column_usage

Esta vista apresenta 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 da base de dados.
table_schema character varying O nome do esquema que contém a tabela. O nome é public para o esquema predefinido e não está vazio para outros esquemas (por exemplo, o próprio information_schema). Esta coluna nunca é nula.
table_name character varying O nome da tabela que contém as colunas geradas.
column_name character varying O nome da coluna base da qual a coluna gerada depende.
dependent_column character varying O nome da coluna gerada.

column_options

Esta vista apresenta todas as opções definidas para as colunas da tabela referenciada de uma restrição de chave externa. A vista contém apenas as colunas na tabela de referência às quais o utilizador atual tem acesso (por ser o proprietário ou ter privilégios concedidos).

Nome da coluna Tipo Descrição
table_catalog character varying O nome da base de dados.
table_schema character varying O nome do esquema que contém a tabela externa. O nome é public para o esquema predefinido e não está vazio para outros esquemas (por exemplo, o próprio information_schema). Esta 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 de forma exclusiva a opção. Este identificador é a chave da cláusula OPTIONS no DDL.
option_value character varying Um literal SQL que descreve o valor desta opção. O valor desta coluna é analisável como parte de uma consulta.
option_type character varying Um nome de tipo de dados que é o tipo deste valor de opção.

column_privileges

Esta vista filtrada por linhas apresenta todos os privilégios de controlo de acesso detalhado concedidos em todas as colunas a qualquer função da base de dados, incluindo public. Os principais que têm autorizações ao nível da base de dados do IAM e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou aos membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver os privilégios concedidos nas colunas à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.

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

Nome da coluna Tipo Descrição
grantor character varying Não usado. Sempre NULL.
grantee character varying O nome da função da base de dados à qual este privilégio é concedido.
table_catalog character varying O nome da base de dados.
table_schema character varying O nome do esquema que contém a tabela ou a vista. A predefinição é public para bases de dados com dialeto PostgreSQL.
table_name character varying O nome da tabela ou da vista 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 usado. Sempre NO.

columns

Esta vista filtrada por linhas fornece informações sobre todas as colunas da tabela e as colunas da vista na base de dados. Os principais que têm autorizações de IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função de sistema spanner_info_reader ou a membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver colunas que tenham privilégios de controlo de acesso detalhado concedidos (ou os privilégios SELECT, INSERT ou UPDATE concedidos nas respetivas tabelas de contenção) à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.

Nome da coluna Tipo Descrição
table_catalog character varying O nome da base de dados.
table_schema character varying O nome do esquema que contém a tabela. O nome é public para o esquema predefinido e não está vazio para outros esquemas (por exemplo, o próprio information_schema). Esta 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 predefinido da coluna, por exemplo, '9'::bigint.
is_nullable character varying Uma string que indica se a coluna pode ter valor nulo. De acordo com a norma 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 incorporados, 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 carateres e de strings de bits. Se não tiver sido especificado um comprimento máximo, o valor é NULL. Se o tipo de dados da coluna não for uma string de carateres ou bits, o valor é NULL.
character_octet_length BIGINT Não usado. 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. Apenas são suportados dois valores:
  • 2 para double precision float8 e bigint
  • 10 por 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 base de precisão após o ponto decimal. Para bigint, o valor é 0. Para todos os outros tipos de dados, o valor é NULL.
datetime_precision BIGINT Não usado. O valor é sempre NULL.
interval_type character varying Não usado. O valor é sempre NULL.
interval_precision BIGINT Não usado. O valor é sempre NULL.
character_set_catalog character varying Não usado. O valor é sempre NULL.
character_set_schema character varying Não usado. O valor é sempre NULL.
character_set_name character varying Não usado. O valor é sempre NULL.
collation_catalog character varying Não usado. O valor é sempre NULL.
collation_schema character varying Não usado. O valor é sempre NULL.
collation_name character varying Não usado. O valor é sempre NULL.
domain_catalog character varying Não usado. O valor é sempre NULL.
domain_schema character varying Não usado. O valor é sempre NULL.
domain_name character varying Não usado. O valor é sempre NULL.
udt_catalog character varying Não usado. O valor é sempre NULL.
udt_schema character varying Não usado. O valor é sempre NULL.
udt_name character varying Não usado. O valor é sempre NULL.
scope_catalog character varying Não usado. O valor é sempre NULL.
scope_schema character varying Não usado. O valor é sempre NULL.
scope_name character varying Não usado. O valor é sempre NULL.
maximum_cardinality BIGINT Não usado. O valor é sempre NULL.
dtd_identifier character varying Não usado. O valor é sempre NULL.
is_self_referencing character varying Não usado. O valor é sempre NULL.
is_identity character varying Não usado. O valor é sempre NULL.
identity_generation character varying Não usado. O valor é sempre NULL.
identity_start character varying Não usado. O valor é sempre NULL.
identity_increment character varying Não usado. O valor é sempre NULL.
identity_maximum character varying Não usado. O valor é sempre NULL.
identity_minimum character varying Não usado. O valor é sempre NULL.
identity_cycle character varying Não usado. O valor é sempre NULL.
is_generated character varying Uma string que indica se a coluna é 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. O valor é sempre NULL.
spanner_type character varying Uma string que contém o tipo compatível com DDL da coluna.
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 utilizador antes de ser totalmente utilizável. Os valores possíveis são:
  • NO_WRITE: não é permitida a leitura nem a escrita nas colunas. Uma coluna gerada armazenada neste estado não causa qualquer efeito no cliente.
  • WRITE_ONLY: a coluna está a ser preenchida. Não é permitido ler.
  • COMMITTED: a coluna é totalmente utilizável.
  • NULL: usado para colunas em esquemas do sistema.

constraint_column_usage

Esta vista 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 vista contém essas colunas.
  • Para restrições CHECK criadas com a palavra-chave CHECK, a vista inclui as colunas usadas pela expressão de restrição de verificação.
  • Para restrições de chaves externas, a vista contém as colunas da tabela referenciada.
  • Para restrições de UNIQUE, a vista contém as colunas de KEY_COLUMN_USAGE.

Nome da coluna Tipo Descrição
table_catalog character varying O nome da base 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 usada pela restrição.
constraint_catalog character varying O nome da base de dados.
constraint_schema character varying O nome do esquema da restrição.
constraint_name character varying O nome da restrição.

constraint_table_usage

Esta vista contém uma linha para cada tabela usada por uma restrição. Para restrições FOREIGN KEY, as informações da tabela destinam-se às tabelas na cláusula REFERENCES. Para uma restrição de chave única ou primária, esta vista identifica a tabela à qual a restrição pertence. As restrições de verificação e as restrições not-null não estão incluídas nesta vista.

Nome da coluna Tipo Descrição
table_catalog character varying O nome da base de dados.
table_schema character varying O nome do esquema da tabela restrita.
table_name character varying O nome da tabela que é usada por alguma restrição.
constraint_catalog character varying O nome da base 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 apresenta as opções definidas na base de dados.

Nome da coluna Tipo Descrição
catalog_name character varying O nome da base de dados.
schema_name character varying O nome do esquema. O valor predefinido é public para bases de dados com dialeto PostgreSQL.
option_name character varying O nome da opção da base 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 base de dados.
option_value character varying O valor da opção de base de dados.

enabled_roles

Esta vista filtrada por linhas apresenta as funções de base de dados definidas. Os principais que têm autorizações de IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou a membros dessa função podem ver todas as funções da base de dados. Todos os outros intervenientes só podem ver as funções da base de dados às quais lhes foi concedido acesso diretamente ou através de herança. Todas as funções do sistema, exceto public, também aparecem nesta vista.

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

index_columns

Esta vista apresenta as colunas num índice.

Nome da coluna Tipo Descrição
table_catalog character varying O nome da base de dados.
table_schema character varying O nome do esquema que contém o índice. O valor predefinido é 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. Este valor é NULL para colunas não principais (por exemplo, colunas especificadas na cláusula INCLUDE de um índice).
column_ordering character varying A ordem de ordenaçã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 pode ter valor nulo. De acordo com a norma SQL, a string é YES ou NO, em vez de um valor booleano.
spanner_type character varying Uma string que contém o tipo compatível com DDL da coluna.

indexes

Esta vista apresenta os índices num esquema.

Nome da coluna Tipo Descrição
table_catalog character varying O nome da base de dados.
table_schema character varying O nome do esquema. O valor predefinido é 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 de índice. Os valores incluem PRIMARY_KEY, LOCAL ou GLOBAL.
parent_table_name character varying Os índices secundários podem ser intercalados numa tabela principal, conforme abordado no artigo Criar um índice secundário. Esta coluna contém o nome dessa tabela principal ou uma string vazia se o índice não estiver intercalado.
is_unique character varying Se as chaves de índice têm de ser únicas. De acordo com a norma SQL, a string é YES ou NO, em vez de um valor booleano.
is_null_filtered character varying Se o índice inclui entradas com valores NULL. De acordo com a norma 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:
  • NULL: o tipo de índice é PRIMARY_KEY
  • PREPARE: criar tabelas vazias para um novo índice
  • WRITE_ONLY: preencher dados para um novo índice
  • WRITE_ONLY_CLEANUP: a limpar um novo índice
  • WRITE_ONLY_VALIDATE_UNIQUE: verificar a unicidade dos dados num novo índice
  • READ_WRITE: operação normal do índice
spanner_is_managed character varying Se o índice é gerido pelo Spanner. Por exemplo, os índices de apoio secundários para chaves estrangeiras são geridos pelo Spanner. A string é YES ou NO, em vez de um valor booleano, de acordo com a norma SQL.

information_schema_catalog_name

Esta tabela contém uma linha e uma coluna com o nome da base de dados.

Nome da coluna Tipo Descrição
catalog_name character varying O nome da base de dados.

key_column_usage

Esta vista identifica todas as colunas na base de dados atual que são referenciadas por uma restrição de chave única, chave primária ou chave externa. Para ver informações sobre as colunas de restrição, consulte a vista check_constraints.CHECK

Nome da coluna Tipo Descrição
constraint_catalog character varying O nome da base de dados.
constraint_schema character varying O nome do esquema da restrição. O valor predefinido é public.
constraint_name character varying O nome da restrição.
table_catalog character varying O nome da base de dados.
table_schema character varying O nome do esquema que contém a tabela que contém a coluna restrita. O valor predefinido é public.
table_name character varying O nome da tabela que contém a coluna restrita por esta restrição.
column_name character varying O nome da coluna que está 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. Esta coluna tem um valor NULL para outros tipos de restrições.

parameters

Esta vista filtrada por linhas define os argumentos para cada função de leitura de streams de alterações. Cada linha descreve um argumento para uma função de leitura de stream de alterações.

Os principais que têm autorizações de IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou a membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver os parâmetros das funções de leitura de streams de alterações para as quais o privilégio de EXECUTEcontrolo de acesso detalhadopublic é concedido à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.

Nome da coluna Tipo Descrição
specific_catalog character varying O nome da base de dados.
specific_schema character varying O nome do esquema da rotina. Para bases de dados com dialeto PostgreSQL, o valor predefinido é public.
specific_name character varying O nome da rotina. Identifica a rotina de forma exclusiva, mesmo que o nome 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 usado. Sempre NULL.
is_result character varying Não usado. Sempre NULL.
as_locator character varying Não usado. 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 incorporados, o nome do tipo de dados.
  • Para matrizes, o valor ARRAY.
character_maximum_length bigint Não usado. Sempre NULL.
character_octet_length bigint Não usado. O valor é sempre NULL.
character_set_catalog character varying Não usado. O valor é sempre NULL.
character_set_schema character varying Não usado. O valor é sempre NULL.
character_set_name character varying Não usado. O valor é sempre NULL.
collation_catalog character varying Não usado. O valor é sempre NULL.
collation_schema character varying Não usado. O valor é sempre NULL.
collation_name character varying Não usado. O valor é sempre NULL.
numeric_precision bigint Não usado. O valor é sempre NULL.
numeric_precision_radix bigint Não usado. O valor é sempre NULL.
numeric_scale bigint Não usado. O valor é sempre NULL.
datetime_precision bigint Não usado. O valor é sempre NULL.
interval_type character varying Não usado. O valor é sempre NULL.
interval_precision bigint Não usado. O valor é sempre NULL.
udt_catalog character varying Não usado. O valor é sempre NULL.
udt_schema character varying Não usado. O valor é sempre NULL.
udt_name character varying Não usado. O valor é sempre NULL.
scope_catalog character varying Não usado. O valor é sempre NULL.
scope_schema character varying Não usado. O valor é sempre NULL.
scope_name character varying Não usado. O valor é sempre NULL.
maximum_cardinality bigint Não usado. O valor é sempre NULL.
dtd_identifier character varying Não usado. O valor é sempre NULL.
parameter_default character varying Não usado. O valor é sempre NULL.

placements

Esta tabela apresenta os posicionamentos na base de dados.

Nome da coluna Tipo Descrição
placement_name character varying O nome do posicionamento.
is_default character varying Uma string que indica se a coluna pode ter valor nulo. De acordo com a norma SQL, a string é YES ou NO, em vez de um valor booleano.

placement-options

Para cada posicionamento, esta tabela apresenta as opções definidas no posicionamento na cláusula OPTIONS da declaração CREATE PLACEMENT.

Nome da coluna Tipo Descrição
placement_name character varying O nome do posicionamento.
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, este é o nome da partição da instância. Para default_leader, é o nome da região principal predefinida.

locality-group-options

Para cada grupo de localidades, esta tabela apresenta o nome e as opções definidas no grupo de localidades na cláusula OPTIONS da declaraçã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 do grupo de localidades. As opções válidas são:
  • storage: define o tipo de armazenamento para o grupo de localidades.
  • ssd_to_hdd_spill_timespan: define durante quanto tempo os dados são armazenados no armazenamento SSD antes de serem movidos para o armazenamento HDD.
option_value character varying O valor da opção de grupo de localidades. Para storage, este é ssd ou hdd. Para ssd_to_hdd_spill_timespan, este é o período durante o qual os dados têm de ser armazenados no SSD antes de serem movidos para o armazenamento HDD. Por exemplo, 10d é de 10 dias. O período mínimo que pode definir é de uma hora.

referential_constraints

Esta vista contém uma linha sobre cada restrição FOREIGN KEY. Só pode ver as restrições para as quais tem acesso de escrita à tabela de referência. Esta vista também identifica as restrições PRIMARY KEY e UNIQUE nas tabelas referenciadas que as chaves externas usam para a aplicação de restrições e ações referenciais.

Nome da coluna Tipo Descrição
constraint_catalog character varying O nome da base de dados.
constraint_schema character varying O nome do esquema que contém a restrição de chave externa. O valor predefinido é public.
constraint_name character varying O nome da restrição de chave externa.
unique_constraint_catalog character varying O nome da base de dados.
unique_constraint_schema character varying O nome do esquema que contém a restrição de chave exclusiva ou principal a que a restrição de chave externa faz referência.
unique_constraint_name character varying O nome da restrição de chave exclusiva ou principal a que a restrição de chave externa faz referência.
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. Este valor é sempre NO ACTION.
delete_rule character varying A regra de eliminação da restrição de chave externa. Este valor é CASCADE 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 apoio da chave externa sejam criados e preenchidos. Quando os índices estiverem prontos, o Spanner começa a aplicar a restrição às novas transações enquanto valida os dados existentes. Os valores possíveis e os estados que representam são:
  • BACKFILLING_INDEXES: os índices estão a ser preenchidos.
  • VALIDATING_DATA: os dados existentes e as novas gravações estão a ser validados.
  • WAITING_FOR_COMMIT: As operações em massa de chaves externas foram concluídas com êxito ou não foram necessárias, mas a chave externa ainda está pendente.
  • COMMITTED: a alteração do esquema foi confirmada.

role_change_stream_grants

Esta vista filtrada por linhas apresenta os privilégios SELECT concedidos em todos os fluxos de alterações a qualquer função da base de dados, incluindo public. Os principais que têm autorizações do IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou a membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver os privilégios concedidos em streams de alterações à função de base de dados atual e às funções das quais a função de base de dados atual é membro, excluindo public.

Nome da coluna Tipo Descrição
grantor character varying Não usado. Sempre NULL.
grantee character varying O nome da função da base de dados à qual este privilégio é concedido.
change_stream_catalog character varying O nome da base de dados.
change_stream_schema character varying O nome do esquema que contém a stream de alterações. A predefinição é public para bases de dados com dialeto PostgreSQL.
change_stream_name character varying O nome da stream de alterações.
privilege_type character varying O tipo de privilégio (apenas SELECT).
is_grantable character varying Não usado. Sempre NO.

role_column_grants

Esta vista filtrada por linhas apresenta todos os privilégios de controlo de acesso detalhado concedidos em todas as colunas a qualquer função da base de dados, incluindo public. Os principais que têm autorizações do IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou a membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver os privilégios concedidos nas colunas à função de base de dados atual e às funções das quais a função de base de dados atual é membro, excluindo public.

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

Nome da coluna Tipo Descrição
grantor character varying Não usado. Sempre NULL.
grantee character varying O nome da função da base de dados à qual este privilégio é concedido.
table_catalog character varying O nome da base de dados.
table_schema character varying O nome do esquema que contém a tabela ou a vista. A predefinição é public para bases de dados com dialeto PostgreSQL.
table_name character varying O nome da tabela ou da vista 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 usado. Sempre NO.

role_routine_grants

Esta vista filtrada por linhas apresenta os privilégios EXECUTE concedidos em todas as funções de leitura de streams de alterações a qualquer função de base de dados, incluindo public. Os principais que têm autorizações de IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou a membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver os privilégios concedidos nas funções de leitura da stream de alterações à função de base de dados atual e às funções das quais a função de base de dados atual é membro, excluindo public.

Nome da coluna Tipo Descrição
grantor character varying Não usado. Sempre NULL.
grantee character varying O nome da função à qual o privilégio foi concedido.
specific_catalog character varying O nome da base de dados.
specific_schema character varying O nome do esquema da rotina. Para bases de dados com dialeto PostgreSQL, o valor predefinido é public.
specific_name character varying O nome da rotina. Identifica a rotina de forma exclusiva, mesmo que o nome esteja sobrecarregado.
routine_catalog character varying O nome da base de dados.
routine_schema character varying O nome do esquema da rotina. A predefinição é public para bases de dados com 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 usado. Sempre NO.

role_table_grants

Esta vista filtrada por linhas apresenta todos os privilégios de controlo de acesso detalhado concedidos em todas as tabelas e vistas a qualquer função da base de dados, incluindo public. Os principais que têm autorizações do IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou a membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver os privilégios concedidos em tabelas e vistas à função de base de dados atual e às funções das quais a função de base de dados atual é membro, excluindo public.

Nome da coluna Tipo Descrição
grantor character varying Não usado. Sempre NULL.
grantee character varying O nome da função da base de dados à qual este privilégio é concedido.
table_catalog character varying O nome da base de dados.
table_schema character varying O nome do esquema que contém a tabela ou a vista. A predefinição é public para bases de dados com dialeto PostgreSQL.
table_name character varying O nome da tabela ou da vista.
privilege_type character varying O tipo de privilégio (SELECT, INSERT, UPDATE ou DELETE).
is_grantable character varying Não usado. Sempre NO.
with_hierarchy character varying Não usado. Sempre NULL.

routine_options

Esta vista filtrada por linhas 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 autorizações de IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou a membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver as opções das funções de leitura de streams de alterações nas quais o privilégio de EXECUTEcontrolo de acesso detalhadopublic é concedido à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.

Nome da coluna Tipo Descrição
specific_catalog character varying O nome da base de dados.
specific_schema character varying O nome do esquema da rotina. A predefinição é public para bases de dados com dialeto PostgreSQL.
specific_name character varying O nome da rotina. Identifica a rotina de forma exclusiva, mesmo que o nome 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 incorporados, o nome do tipo de dados.
  • Para matrizes, o valor ARRAY.
option_value character varying O valor da opção.

routine_privileges

Esta vista filtrada por linhas apresenta todos os privilégios de controlo de acesso detalhado concedidos em todas as funções de leitura de streams de alterações a qualquer função de base de dados, incluindo public. Os principais que têm autorizações do IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou aos membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver os privilégios concedidos nas funções de leitura de streams de alterações à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.

Nome da coluna Tipo Descrição
grantor character varying Não usado. Sempre NULL.
grantee character varying O nome da função à qual o privilégio foi concedido.
specific_catalog character varying O nome da base de dados.
specific_schema character varying O nome do esquema da rotina. Para bases de dados com dialeto PostgreSQL, o valor predefinido é public.
specific_name character varying O nome da rotina. Identifica a rotina de forma exclusiva, mesmo que o nome esteja sobrecarregado.
routine_catalog character varying O nome da base de dados.
routine_schema character varying O nome do esquema da rotina. A predefiniçã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 usado. Sempre NO.

routines

Esta vista filtrada por linhas apresenta todas as funções de leitura do fluxo de alterações de uma base de dados. Os principais que têm autorizações de IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou a membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver as funções de leitura de streams de alterações nas quais o privilégio de controlo de acesso detalhado é concedido à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.EXECUTE

Nome da coluna Tipo Descrição
specific_catalog character varying O nome da base de dados.
specific_schema character varying O nome do esquema da rotina. A predefinição é public para bases de dados com dialeto PostgreSQL.
specific_name character varying O nome da rotina. Identifica a rotina de forma exclusiva, mesmo que o nome esteja sobrecarregado.
routine_catalog character varying O nome da base 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 de rotina (FUNCTION ou PROCEDURE). Sempre FUNCTION
module_catalog character varying Não usado. O valor é sempre NULL.
module_schema character varying Não usado. O valor é sempre NULL.
module_name character varying Não usado. O valor é sempre NULL.
udt_catalog character varying Não usado. O valor é sempre NULL.
udt_schema character varying Não usado. O valor é sempre NULL.
udt_name character varying Não usado. O valor é sempre NULL.
data_type character varying O tipo de retorno da rotina. O valor é um dos seguintes:
  • Para tipos incorporados, o nome do tipo de dados.
  • Para matrizes, o valor ARRAY.
character_maximum_length bigint Não usado. O valor é sempre NULL.
character_octet_length bigint Não usado. O valor é sempre NULL.
character_set_catalog character varying Não usado. O valor é sempre NULL.
character_set_schema character varying Não usado. O valor é sempre NULL.
character_set_name character varying Não usado. O valor é sempre NULL.
collation_catalog character varying Não usado. O valor é sempre NULL.
collation_schema character varying Não usado. O valor é sempre NULL.
collation_name character varying Não usado. O valor é sempre NULL.
numeric_precision bigint Não usado. O valor é sempre NULL.
numeric_precision_radix bigint Não usado. O valor é sempre NULL.
numeric_scale bigint Não usado. O valor é sempre NULL.
datetime_precision bigint Não usado. O valor é sempre NULL.
interval_type character varying Não usado. O valor é sempre NULL.
interval_precision bigint Não usado. O valor é sempre NULL.
type_udt_catalog character varying Não usado. O valor é sempre NULL.
type_udt_schema character varying Não usado. O valor é sempre NULL.
type_udt_name character varying Não usado. O valor é sempre NULL.
scope_catalog character varying Não usado. O valor é sempre NULL.
scope_schema character varying Não usado. O valor é sempre NULL.
scope_name character varying Não usado. O valor é sempre NULL.
maximum_cardinality bigint Não usado. O valor é sempre NULL.
dtd_identifier character varying Não usado. O valor é sempre NULL.
routine_body character varying O tipo do corpo da rotina (SQL ou EXTERNAL).
routine_definition character varying A definição para o SQL routine_body, caso contrário, está vazio.
external_name character varying Não usado. O valor é sempre NULL.
external_language character varying Não usado. O valor é sempre NULL.
parameter_style character varying Não usado. O valor é sempre NULL.
is_deterministic character varying Não usado. O valor é sempre NULL.
sql_data_access character varying Não usado. O valor é sempre NULL.
is_null_call character varying Não usado. O valor é sempre NULL.
sql_path character varying Não usado. O valor é sempre NULL.
schema_level_routine character varying Não usado. O valor é sempre NULL.
max_dynamic_result_sets character varying Não usado. O valor é sempre NULL.
is_user_defined_cast character varying Não usado. O valor é sempre NULL.
is_implicitly_invocable character varying Não usado. O valor é sempre NULL.
security_type character varying O tipo de segurança da rotina. Apenas INVOKER é suportado.
to_sql_specific_catalog character varying Não usado. O valor é sempre NULL.
to_sql_specific_schema character varying Não usado. O valor é sempre NULL.
to_sql_specific_name character varying Não usado. O valor é sempre NULL.
as_locator character varying Não usado. O valor é sempre NULL.
created timestamp with time zone Não usado. O valor é sempre NULL.
last_altered timestamp with time zone Não usado. O valor é sempre NULL.
new_savepoint_level character varying Não usado. O valor é sempre NULL.
is_udt_dependent character varying Não usado. O valor é sempre NULL.
result_cast_from_data_type character varying Não usado. O valor é sempre NULL.
result_cast_as_locator character varying Não usado. O valor é sempre NULL.
result_cast_char_max_length bigint Não usado. O valor é sempre NULL.
result_cast_char_octet_length bigint Não usado. O valor é sempre NULL.
result_cast_char_set_catalog character varying Não usado. O valor é sempre NULL.
result_cast_char_set_schema character varying Não usado. O valor é sempre NULL.
result_cast_char_set_name character varying Não usado. O valor é sempre NULL.
result_cast_collation_catalog character varying Não usado. O valor é sempre NULL.
result_cast_collation_schema character varying Não usado. O valor é sempre NULL.
result_cast_collation_name character varying Não usado. O valor é sempre NULL.
result_cast_numeric_precision bigint Não usado. O valor é sempre NULL.
result_cast_numeric_precision_radix bigint Não usado. O valor é sempre NULL.
result_cast_numeric_scale bigint Não usado. O valor é sempre NULL.
result_cast_datetime_precision bigint Não usado. O valor é sempre NULL.
result_cast_interval_type character varying Não usado. O valor é sempre NULL.
result_cast_interval_precision bigint Não usado. O valor é sempre NULL.
result_cast_type_udt_catalog character varying Não usado. O valor é sempre NULL.
result_cast_type_udt_schema character varying Não usado. O valor é sempre NULL.
result_cast_type_udt_name character varying Não usado. O valor é sempre NULL.
result_cast_scope_catalog character varying Não usado. O valor é sempre NULL.
result_cast_scope_schema character varying Não usado. O valor é sempre NULL.
result_cast_scope_name character varying Não usado. O valor é sempre NULL.
result_cast_maximum_cardinality bigint Não usado. O valor é sempre NULL.
result_cast_dtd_identifier character varying Não usado. O valor é sempre NULL.

schemata

A vista information_schema.schemata contém uma linha para cada esquema na base de dados atual. Os esquemas incluem o esquema de informações e um esquema predefinido denominado public.

Nome da coluna Tipo Descrição
catalog_name character varying O nome da base de dados.
schema_name character varying O nome do esquema. Esta opção está definida como public para o esquema predefinido e não está vazia para esquemas com nome.
schema_owner character varying O nome do proprietário do esquema.
default_character_set_catalog character varying Não usado.
default_character_set_schema character varying Não usado.
default_character_set_name character varying Não usado.
sql_path character varying Não usado.
effective_timestamp timestamp with timezone A data/hora em que todos os dados neste esquema entraram em vigor. Isto é usado apenas para o esquema predefinido.

sequences

A vista information_schema.sequences contém os metadados sequences.

Nome da coluna Tipo Descrição
sequence_catalog character varying O nome da base de dados.
sequence_schema character varying O nome do esquema da sequência. O valor predefinido é public para uma base de dados de dialeto PostgreSQL.
sequence_name character varying O nome da sequência.
data_type character varying A sequência só suporta int8.
numeric_precision bigint Não usado. O valor é sempre "NULL".
numeric_precision_radix bigint Não usado. O valor é sempre "NULL".
numeric_scale bigint Não usado. O valor é sempre "NULL".
start_value bigint Não usado. O valor é sempre "NULL".
minimum_value bigint Não usado. O valor é sempre "NULL".
maximum_value bigint Não usado. O valor é sempre "NULL".
increment bigint Não usado. O valor é sempre "NULL".
cycle_option character varying A única opção que o 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. Este valor é NULL se não estiver definido.
skip_range_max bigint O valor máximo no intervalo ignorado. Este valor é NULL se não estiver definido.

spanner_statistics

Esta tabela apresenta os pacotes de estatísticas do otimizador de consultas disponíveis.

Nome da coluna Tipo Descrição
catalog_name character varying O nome da base de dados.
schema_name character varying O nome do esquema. O valor do esquema predefinido é public.
package_name character varying O nome do pacote de estatísticas.
allow_gc character varying Se o pacote de estatísticas está isento da recolha de lixo. De acordo com a norma SQL, a string é YES ou NO, em vez de um valor booleano. Tem de definir este atributo como NO antes de poder fazer referência ao pacote de estatísticas numa dica ou através da API do cliente.

table_constraints

Esta vista contém todas as restrições pertencentes a tabelas às quais o utilizador atual tem acesso (exceto SELECT).

Nome da coluna Tipo Descrição
constraint_catalog character varying O nome da base 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 da base 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 de 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), é validada no momento da gravação e por um validador de integridade em segundo plano. De acordo com a norma SQL, a string é YES ou NO, em vez de um valor booleano.

table_privileges

Esta vista filtrada por linhas apresenta todos os privilégios de controlo de acesso detalhado concedidos em todas as tabelas e vistas a qualquer função da base de dados, incluindo public. Os principais que têm autorizações do IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou a membros dessa função podem ver todas as linhas nesta vista. Todos os outros principais só podem ver privilégios concedidos em tabelas e vistas à função de base de dados atual, a funções das quais a função de base de dados atual é membro ou a public.

Nome da coluna Tipo Descrição
grantor character varying Não usado. Sempre NULL.
grantee character varying O nome da função da base de dados à qual este privilégio é concedido.
table_catalog character varying O nome da base de dados.
table_schema character varying O nome do esquema que contém a tabela ou a vista. A predefinição é public para bases de dados com dialeto PostgreSQL.
table_name character varying O nome da tabela ou da vista.
privilege_type character varying O tipo de privilégio (SELECT, INSERT, UPDATE ou DELETE).
is_grantable character varying Não usado. Sempre NO.
that have_hierarchy character varying Não usado. Sempre NULL.

tables

Esta vista filtrada por linhas apresenta todas as tabelas e vistas que se encontram na base de dados atual. Os principais que têm autorizações de IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou a membros dessa função podem ver todas as tabelas e visualizações. Todos os outros principais só podem ver tabelas que cumpram um dos seguintes requisitos:

  • Os privilégios de controlo de acesso detalhado SELECT, INSERT, UPDATE, ou DELETE são concedidos na tabela à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.
  • Os privilégios SELECT, INSERT ou UPDATE são concedidos em qualquer coluna da tabela à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.

Nome da coluna Tipo Descrição
table_catalog character varying O nome da base de dados.
table_schema character varying O nome do esquema que contém a tabela ou a vista.
table_name character varying O nome da tabela, da vista ou do sinónimo.
table_type character varying O tipo de tabela. Os valores possíveis incluem "BASE TABLE", "VIEW" ou "SYNONYM".
self_referencing_column_name character varying Não usado.
reference_generation character varying Não usado.
user_defined_type_catalog character varying Não usado.
user_defined_type_schema character varying Não usado.
user_defined_type_name character varying Não usado.
is_insertable_into character varying Não usado.
is_typed character varying Não usado.
commit_action character varying Não usado.
parent_table_name character varying O nome da tabela principal se esta tabela estiver intercalada ou NULL.
on_delete_action character varying Esta opção está definida como CASCADE ou NO ACTION para tabelas intercaladas e NULL caso contrário. Consulte as declaraçõ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 estiverem envolvidas operações em massa, por exemplo, quando a tabela é criada com uma chave externa que requer o preenchimento do respetivo índice referenciado. Os estados possíveis são:
  • ADDING_FOREIGN_KEY: adicionar as chaves externas da tabela
  • WAITING_FOR_COMMIT: finalizar a alteração do esquema
  • COMMITTED: a alteração do esquema para criar a tabela foi confirmada. Não pode escrever na tabela até que a alteração seja confirmada.
  • NULL: tabelas ou vistas que não são tabelas base.
interleave_type character varying Se existe uma relação principal-secundário entre esta tabela e a tabela na qual está intercalada. Os valores possíveis são:
  • IN: uma tabela INTERLEAVE IN que não tem uma relação principal-secundário. Uma linha nesta tabela pode existir independentemente da existência da respetiva linha da tabela principal.
  • IN PARENT: uma tabela INTERLEAVE IN PARENT que tenha uma relação principal-secundária. Uma linha nesta tabela requer a existência da respetiva linha da tabela principal.
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 apresenta informações sobre sinónimos da tabela.

Nome da coluna Tipo Descrição
CATALOG STRING Nome do catálogo que contém a tabela.
SCHEMA STRING 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

Esta vista filtrada por linhas apresenta todas as visualizações na base de dados atual. Os principais que têm autorizações do IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função do sistema spanner_info_reader ou aos membros dessa função podem ver todas as visualizações. Todos os outros principais só podem ver vistas que tenham o SELECT privilégio de controlo de acesso detalhado concedido sobre eles à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.

Nome da coluna Tipo Descrição
table_catalog character varying O nome da base de dados.
table_schema character varying O nome do esquema. O valor predefinido é public.
table_name character varying O nome da vista.
view_definition character varying O texto SQL da consulta que define a vista.
check_option character varying Não usado.
is_updatable character varying Não usado.
is_insertable_into character varying Não usado.
is_trigger_updatable character varying Não usado.
is_trigger_deletable character varying Não usado.
is_trigger_insertable_into character varying Não usado.
security_type character varying O tipo de segurança da vista. INVOKER ou DEFINER.

Para mais informações, consulte o artigo Acerca das visualizações.

Exemplos

Devolver informações sobre cada tabela no esquema do utilizador:

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

Devolve o nome de todas as tabelas e vistas no information_schema para bases de dados com dialeto PostgreSQL:

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

Devolver informações sobre as colunas na tabela de utilizadores my_table no esquema predefinido:

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

Devolver informações sobre cada índice no esquema predefinido na base 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

Devolver colunas que usam opções não predefinidas no esquema predefinido:

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

Devolva as opções da base de dados relacionadas com o otimizador atual:

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

Devolver todos os pacotes de estatísticas disponíveis:

SELECT *
FROM information_schema.spanner_statistics;

O que se segue?