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

O esquema de informações é um esquema incorporado comum a todas as bases de dados do Spanner. 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 ('information_schema', 'SPANNER_SYS')
    AND table_type = 'BASE TABLE'

Os utilizadores do controlo de acesso detalhado veem resultados filtrados para algumas INFORMATION_SCHEMA tabelas consoante a respetiva função na base de dados. Para mais informações, consulte o artigo Acerca do controlo de acesso detalhado.

Utilização

As tabelas INFORMATION_SCHEMA estão disponíveis apenas através de interfaces SQL, por exemplo:

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

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

Algumas INFORMATION_SCHEMAnotas de utilização adicionais:

Filtragem de linhas em tabelas information_schema

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

Tabelas no INFORMATION_SCHEMA

As secções seguintes descrevem as tabelas no INFORMATION_SCHEMA para bases de dados com dialeto GoogleSQL.

SCHEMATA

A tabela INFORMATION_SCHEMA.SCHEMATA apresenta os esquemas na base de dados. Estes incluem o esquema de informações e os esquemas com nome, que contêm as tabelas que define.

Nome da coluna Tipo Descrição
CATALOG_NAME STRING O nome do catálogo. Esta coluna existe para compatibilidade com tabelas de esquemas de informações padrão SQL. Esta coluna é sempre uma string vazia.
SCHEMA_NAME STRING O nome do esquema. Este é um nome para esquemas com nome ou "" para o esquema predefinido.
PROTO_BUNDLE STRING Se a base de dados contiver declarações de pacote proto, esta coluna fornece informações sobre o pacote proto usado no esquema. Esta coluna é NULL se não existir nenhum pacote proto na base de dados.

DATABASE_OPTIONS

Esta tabela apresenta as opções definidas na base de dados.

Nome da coluna Tipo Descrição
CATALOG_NAME STRING O nome do catálogo. É sempre uma string vazia.
SCHEMA_NAME STRING O nome do esquema. Uma string vazia se não tiver nome.
OPTION_NAME STRING O nome da opção da base de dados.
OPTION_TYPE STRING O tipo de dados da opção de base de dados.
OPTION_VALUE STRING O valor da opção da base de dados.

PLACEMENTS

Esta tabela apresenta os posicionamentos na base de dados.

Nome da coluna Tipo Descrição
PLACEMENT_NAME STRING O nome do posicionamento.
IS_DEFAULT BOOL Um valor booleano que indica se o posicionamento é o posicionamento predefinido.

PLACEMENT_OPTIONS

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

Os valores válidos para OPTION_NAME incluem:

  • instance_partition
  • default_leader
Nome da coluna Tipo Descrição
PLACEMENT_NAME STRING O nome do posicionamento.
OPTION_NAME STRING O nome da opção de posicionamento.
OPTION_TYPE STRING O tipo de dados da opção de posicionamento. Para ambas as opções, este é o STRING(MAX).
OPTION_VALUE STRING 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 STRING O nome do grupo de localidades.
OPTION_NAME STRING 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 STRING 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.

TABLES

Esta tabela filtrada por linhas apresenta as tabelas e as vistas na base de dados. Os principais com 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 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 STRING Não usado. É sempre uma string vazia.
TABLE_SCHEMA STRING O nome do esquema da tabela. O nome está vazio para o esquema predefinido e contém um valor para outros esquemas. Esta coluna contém sempre um valor.
TABLE_NAME STRING O nome da tabela, da vista ou do sinónimo.
TABLE_TYPE STRING O tipo de tabela. Para tabelas, tem o valor BASE TABLE; para vistas, tem o valor VIEW; para sinónimos, tem o valor SYNONYM.
PARENT_TABLE_NAME STRING O nome da tabela principal se esta tabela estiver intercalada e NULL caso contrário.
ON_DELETE_ACTION STRING 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 STRING 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 dos respetivos índices. 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.
INTERLEAVE_TYPE STRING O texto da expressão que indica 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: a tabela não tem uma relação principal-secundária. Uma linha nesta tabela pode existir independentemente da existência da respetiva linha da tabela principal.
  • IN PARENT: a tabela tem uma relação principal-secundário. Uma linha nesta tabela requer a existência da respetiva linha da tabela principal.
  • Uma string vazia indica que esta tabela não tem relações de intercalação.
ROW_DELETION_POLICY_EXPRESSION STRING O texto da expressão que define a política de eliminação de linhas da tabela. Por exemplo, OLDER_THAN(CreatedAt, INTERVAL 1 DAY) ou OLDER_THAN(ExpiredDate, INTERVAL 0 DAY).

COLUMNS

Esta tabela filtrada por linhas apresenta as colunas numa tabela. Os principais com 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 responsáveis podem ver apenas colunas que cumpram um dos seguintes requisitos:

  • Qualquer um dos privilégios de controlo de acesso detalhado SELECT, INSERT ou UPDATE é concedido diretamente na coluna à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.
  • Qualquer um dos privilégios de controlo de acesso detalhado SELECT, INSERT ou UPDATE é concedido na tabela que contém a coluna à 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 STRING Não usado. É sempre uma string vazia.
TABLE_SCHEMA STRING O nome do esquema da tabela da coluna. O nome está vazio para o esquema predefinido e contém um valor para outros esquemas. Esta coluna contém sempre um valor.
TABLE_NAME STRING O nome da tabela.
COLUMN_NAME STRING O nome da coluna.
ORDINAL_POSITION INT64 A posição ordinal da coluna na tabela, começando com um valor de 1.
COLUMN_DEFAULT STRING

Uma representação de string da expressão SQL para o valor predefinido da coluna. NULL se a coluna não tiver um valor predefinido.

Nota: antes de março de 2022, COLUMN_DEFAULT usava o tipo BYTES.

DATA_TYPE STRING Incluído para satisfazer a norma SQL. Sempre NULL. Consulte a coluna SPANNER_TYPE
IS_NULLABLE STRING 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 STRING O tipo de dados da coluna.
IS_GENERATED STRING 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 STRING Uma string que representa a expressão SQL de uma coluna gerada. NULL se a coluna não for uma coluna gerada.
IS_STORED STRING Uma string que indica se a coluna gerada está armazenada. A string é sempre YES para colunas geradas e NULL para colunas não geradas.
IS_HIDDEN STRING Uma string definida como TRUE se a coluna não aparecer numa consulta SELECT * e definida como FALSE caso contrário. Se a coluna estiver oculta, pode selecioná-la através do respetivo nome (por exemplo, SELECT Id, Name, ColHidden FROM TableWithHiddenColumn).
SPANNER_STATE STRING 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:
  • WRITE_ONLY: a coluna está a ser preenchida. Não é permitido ler.
  • COMMITTED: a coluna é totalmente utilizável.
IS_IDENTITY STRING Uma string definida como YES se a coluna gerada for uma coluna de identidade e NO caso contrário.
IDENTITY_GENERATION STRING Uma string que especifica se a coluna permite apenas valores gerados e não inseridos pelo utilizador.
  • BY DEFAULT: o valor predefinido. BY DEFAULT especifica que a coluna usa valores gerados se não forem fornecidos valores inseridos pelo utilizador.
  • ALWAYS: a coluna permite apenas valores gerados e não valores inseridos pelo utilizador personalizados.
IDENTITY_KIND STRING Sempre BIT_REVERSED_POSITITVE_SEQUENCE. Apenas são suportadas sequências positivas com bits invertidos.
IDENTITY_START_WITH_COUNTER STRING O valor inicial do contador interno antes da transformação. Por exemplo, o valor inicial antes da inversão de bits.
IDENTITY_SKIP_RANGE_MIN STRING O valor mínimo de um intervalo ignorado após a transformação.
IDENTITY_SKIP_RANGE_MAX STRING O valor máximo de um intervalo ignorado após a transformação.

COLUMN_PRIVILEGES

Esta tabela filtrada por linhas apresenta todos os privilégios concedidos ao nível da coluna a qualquer função da base de dados, incluindo public. Os principais com 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 intervenientes podem ver privilégios apenas para colunas que cumpram qualquer um dos seguintes requisitos:

  • Qualquer um dos privilégios de controlo de acesso detalhado SELECT, INSERT ou UPDATE é concedido diretamente na coluna à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.
  • Qualquer um dos privilégios de controlo de acesso detalhado SELECT, INSERT ou UPDATE é concedido na tabela que contém a coluna à 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 STRING Não usado. É sempre uma string vazia.
TABLE_SCHEMA STRING O nome do esquema da tabela da coluna. O nome está vazio para o esquema predefinido e contém um valor para outros esquemas. Esta coluna contém sempre um valor.
TABLE_NAME STRING O nome da tabela que contém a coluna privilegiada.
COLUMN_NAME STRING O nome da coluna privilegiada.
PRIVILEGE_TYPE STRING SELECT, INSERT, UPDATE
GRANTEE STRING O nome da função da base de dados à qual este privilégio é concedido.

TABLE_PRIVILEGES

Esta tabela filtrada por linhas apresenta todos os privilégios concedidos ao nível da tabela a funções da base de dados, incluindo public. Os principais com 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 privilégios para tabelas nas quais qualquer um dos privilégios de controlo de acesso detalhado SELECT, INSERT, UPDATE ou DELETE é 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
TABLE_CATALOG STRING Não usado. É sempre uma string vazia.
TABLE_SCHEMA STRING O nome do esquema da tabela. O nome está vazio para o esquema predefinido e contém um valor para outros esquemas. Esta coluna contém sempre um valor.
TABLE_NAME STRING O nome da tabela na qual são concedidos privilégios de controlo de acesso detalhado.
PRIVILEGE_TYPE STRING Uma de SELECT, INSERT, UPDATE, e DELETE
GRANTEE STRING O nome da função da base de dados à qual este privilégio é concedido.

TABLE_CONSTRAINTS

Esta tabela contém uma linha para cada restrição definida para as tabelas na base de dados.

Nome da coluna Tipo Descrição
CONSTRAINT_CATALOG STRING É sempre uma string vazia.
CONSTRAINT_SCHEMA STRING O nome do esquema da restrição. Uma string vazia se não tiver nome.
CONSTRAINT_NAME STRING O nome da restrição.
TABLE_CATALOG STRING O nome do catálogo da tabela restrita. É sempre uma string vazia.
TABLE_SCHEMA STRING O nome do esquema da tabela restrita. O nome está vazio para o esquema predefinido e contém um valor para outros esquemas. Esta coluna contém sempre um valor.
TABLE_NAME STRING O nome da tabela restrita.
CONSTRAINT_TYPE STRING O tipo de restrição. Os valores possíveis são:
  • PRIMARY KEY
  • FOREIGN KEY
  • PLACEMENT KEY
  • CHECK
  • UNIQUE
IS_DEFERRABLE STRING Sempre NO.
INITIALLY_DEFERRED STRING Sempre NO.
ENFORCED STRING NO se a restrição for uma chave externa informativa (NOT ENFORCED). YES para chaves externas aplicadas ou qualquer outro tipo de restrição.

CONSTRAINT_TABLE_USAGE

Esta tabela apresenta as tabelas que definem ou são usadas por restrições. Inclui tabelas que definem restrições PRIMARY KEY e UNIQUE. Também inclui as tabelas de definições referenciadas.FOREIGN KEY

Nome da coluna Tipo Descrição
TABLE_CATALOG STRING O nome do catálogo da tabela restrita. É sempre uma string vazia.
TABLE_SCHEMA STRING O nome do esquema da tabela restrita. O nome está vazio para o esquema predefinido e contém um valor para outros esquemas. Esta coluna contém sempre um valor.
TABLE_NAME STRING O nome da tabela restrita.
CONSTRAINT_CATALOG STRING O nome do catálogo da restrição. É sempre uma string vazia.
CONSTRAINT_SCHEMA STRING O nome do esquema da restrição. Uma string vazia se não tiver nome.
CONSTRAINT_NAME STRING O nome da restrição.

REFERENTIAL_CONSTRAINTS

Esta tabela contém uma linha sobre cada restrição FOREIGN KEY.

Nome da coluna Tipo Descrição
CONSTRAINT_CATALOG STRING O nome do catálogo da CHAVE EXTERNA. É sempre uma string vazia.
CONSTRAINT_SCHEMA STRING O nome do esquema da CHAVE EXTERNA. Uma string vazia se não tiver nome.
CONSTRAINT_NAME STRING O nome da CHAVE EXTERNA.
UNIQUE_CONSTRAINT_CATALOG STRING O nome do catálogo da PRIMARY KEY ou da restrição UNIQUE a que a FOREIGN KEY faz referência. É sempre uma string vazia.
UNIQUE_CONSTRAINT_SCHEMA STRING O nome do esquema da PRIMARY KEY ou da restrição UNIQUE a que a FOREIGN KEY faz referência. Uma string vazia se não tiver nome.
UNIQUE_CONSTRAINT_NAME STRING O nome da restrição PRIMARY KEY ou UNIQUE a que a FOREIGN KEY faz referência.
MATCH_OPTION STRING Sempre SIMPLE.
UPDATE_RULE STRING Sempre NO ACTION.
DELETE_RULE STRING CASCADE ou NO ACTION.
SPANNER_STATE STRING 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 para 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.

CHECK_CONSTRAINTS

A tabela information_schema.CHECK_CONSTRAINTS contém uma linha sobre cada restrição CHECK definida pela palavra-chave CHECK ou NOT NULL.

Nome da coluna Tipo Descrição
CONSTRAINT_CATALOG STRING O nome do catálogo da restrição. Esta coluna nunca é nula, mas é sempre uma string vazia.
CONSTRAINT_SCHEMA STRING O nome do esquema da restrição. Uma string vazia se não tiver nome.
CONSTRAINT_NAME STRING O nome da restrição. Esta coluna nunca é nula. Se não for especificado explicitamente na definição do esquema, é atribuído um nome definido pelo sistema.
CHECK_CLAUSE STRING As expressões da restrição CHECK. Esta coluna nunca é nula.
SPANNER_STATE STRING O estado atual da restrição CHECK. Esta coluna nunca é nula. Os estados possíveis são os seguintes:
  • VALIDATING: o Spanner está a validar os dados existentes.
  • COMMITTED: não existe nenhuma alteração de esquema ativa para esta restrição.

KEY_COLUMN_USAGE

Esta tabela filtrada por linhas contém uma linha sobre cada coluna das tabelas de TABLE_CONSTRAINTS que são restritas como chaves por uma restrição PRIMARY KEY, FOREIGN KEY ou UNIQUE. Os principais com 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 intervenientes só podem ver colunas que cumprem os seguintes critérios:

  • Qualquer um dos privilégios de controlo de acesso detalhado SELECT, INSERT ou UPDATE é concedido diretamente na coluna à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.
  • Qualquer um dos privilégios de controlo de acesso detalhado SELECT, INSERT ou UPDATE é concedido na tabela que contém a coluna à 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
CONSTRAINT_CATALOG STRING O nome do catálogo da restrição. É sempre uma string vazia.
CONSTRAINT_SCHEMA STRING O nome do esquema da restrição. Esta coluna nunca é nula. Uma string vazia se não tiver nome.
CONSTRAINT_NAME STRING O nome da restrição.
TABLE_CATALOG STRING O nome do catálogo da coluna restrita. É sempre uma string vazia.
TABLE_SCHEMA STRING O nome do esquema da tabela da coluna restrita. O nome está vazio para o esquema predefinido e contém um valor para outros esquemas. Esta coluna contém sempre um valor.
TABLE_NAME STRING O nome da tabela da coluna restrita.
COLUMN_NAME STRING O nome da coluna.
ORDINAL_POSITION INT64 A posição ordinal da coluna na chave da restrição, começando com um valor de 1.
POSITION_IN_UNIQUE_CONSTRAINT INT64 Para FOREIGN KEYs, a posição ordinal da coluna na restrição exclusiva, começando com um valor de 1. Esta coluna é nula para outros tipos de restrições.

CONSTRAINT_COLUMN_USAGE

Esta tabela contém uma linha sobre cada coluna usada por uma restrição. Inclui as colunas PRIMARY KEY e UNIQUE, além das colunas referenciadas das restrições FOREIGN KEY.

Nome da coluna Tipo Descrição
TABLE_CATALOG STRING O nome do catálogo da tabela de colunas. É sempre uma string vazia.
TABLE_SCHEMA STRING O nome do esquema da tabela da coluna. O nome está vazio para o esquema predefinido e contém um valor para outros esquemas. Esta coluna contém sempre um valor.
TABLE_NAME STRING O nome da tabela da coluna.
COLUMN_NAME STRING O nome da coluna usada pela restrição.
CONSTRAINT_CATALOG STRING O nome do catálogo da restrição. É sempre uma string vazia.
CONSTRAINT_SCHEMA STRING O nome do esquema da restrição. Uma string vazia se não tiver nome.
CONSTRAINT_NAME STRING O nome da restrição.

TABLE_SYNONYMS

Esta tabela apresenta informações de sinónimos para a tabela.

Nome da coluna Tipo Descrição
TABLE_CATALOG STRING Não usado. É sempre uma string vazia.
TABLE_SCHEMA STRING O nome do esquema da tabela. O nome está vazio para o esquema predefinido e contém um valor para outros esquemas. Esta coluna contém sempre um valor.
TABLE_NAME STRING O 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.

INDEXES

Esta tabela filtrada por linhas apresenta os índices na base de dados. Os principais com 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 responsáveis podem ver apenas índices que cumpram um dos seguintes requisitos:

  • Qualquer um dos privilégios de controlo de acesso detalhado SELECT, INSERT ou UPDATE é concedido ao nível da coluna em todas as colunas no índice à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.
  • Qualquer um dos privilégios de controlo de acesso detalhado SELECT, INSERT, UPDATE, ou DELETE é concedido na tabela que tem o índice à 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 STRING O nome do catálogo. É sempre uma string vazia.
TABLE_SCHEMA STRING O nome do esquema da tabela de índice. O nome está vazio para o esquema predefinido e contém um valor para outros esquemas. Esta coluna contém sempre um valor.
TABLE_NAME STRING O nome da tabela.
INDEX_NAME STRING O nome do índice. As tabelas com uma especificação PRIMARY KEY têm uma entrada de pseudo-índice gerada com o nome PRIMARY_KEY, o que permite determinar os campos da chave primária.
INDEX_TYPE STRING O tipo de índice. O tipo é INDEX ou PRIMARY_KEY.
PARENT_TABLE_NAME STRING Os índices secundários podem ser intercalados numa tabela principal, conforme explicado 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 BOOL Se as chaves de índice têm de ser únicas.
IS_NULL_FILTERED BOOL Se o índice inclui entradas com valores NULL.
INDEX_STATE STRING O estado atual do índice. Os valores possíveis e os estados que representam são:
  • PREPARE: criar tabelas vazias para um novo índice.
  • WRITE_ONLY: preencher dados para um novo índice.
  • WRITE_ONLY_CLEANUP: limpar um novo índice.
  • WRITE_ONLY_VALIDATE_UNIQUE: verificar a exclusividade dos dados num novo índice.
  • READ_WRITE: operação normal do índice.
SPANNER_IS_MANAGED BOOL TRUE se o índice for gerido pelo Spanner; caso contrário, FALSE. Os índices de apoio secundários para chaves estrangeiras são geridos pelo Spanner.

INDEX_COLUMNS

Esta tabela filtrada por linhas apresenta as colunas num índice. Os principais com 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 responsáveis podem ver apenas índices que cumpram um dos seguintes requisitos:

  • Qualquer um dos privilégios de controlo de acesso detalhado SELECT, INSERT ou UPDATE é concedido ao nível da coluna em todas as colunas no índice à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.
  • Qualquer um dos privilégios de controlo de acesso detalhado SELECT, INSERT ou UPDATE é concedido na tabela que tem um índice para a função de base de dados atual, para funções das quais a função de base de dados atual é membro ou para public.
Nome da coluna Tipo Descrição
TABLE_CATALOG STRING O nome do catálogo. É sempre uma string vazia.
TABLE_SCHEMA STRING O nome do esquema da tabela de índice. O nome está vazio para o esquema predefinido e contém um valor para outros esquemas. Esta coluna contém sempre um valor.
TABLE_NAME STRING O nome da tabela.
INDEX_NAME STRING O nome do índice.
COLUMN_NAME STRING O nome da coluna.
ORDINAL_POSITION INT64 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 STORING de um índice).
COLUMN_ORDERING STRING A ordem 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 STRING 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 STRING O tipo de dados da coluna.

COLUMN_OPTIONS

Esta tabela filtrada por linhas apresenta as opções de colunas numa tabela. Os principais com 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 responsáveis podem ver opções apenas para colunas que cumpram um dos seguintes requisitos:

  • Qualquer um dos privilégios de controlo de acesso detalhado SELECT, INSERT ou UPDATE é concedido diretamente na coluna à função de base de dados atual, às funções das quais a função de base de dados atual é membro ou a public.
  • Qualquer um dos privilégios de controlo de acesso detalhado SELECT, INSERT ou UPDATE é concedido na tabela que contém a coluna à 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 STRING O nome do catálogo. É sempre uma string vazia.
TABLE_SCHEMA STRING O nome do esquema. O nome está vazio 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 STRING O nome da tabela.
COLUMN_NAME STRING O nome da coluna.
OPTION_NAME STRING Um identificador SQL que identifica de forma exclusiva a opção. Este identificador é a chave da cláusula OPTIONS no DDL.
OPTION_TYPE STRING Um nome de tipo de dados que é o tipo deste valor de opção.
OPTION_VALUE STRING Um literal SQL que descreve o valor desta opção. O valor desta coluna tem de ser analisável como parte de uma consulta. A expressão resultante da análise do valor tem de ser convertível em OPTION_TYPE. Esta coluna nunca é nula.

SEQUENCES

Esta tabela apresenta os metadados das sequências. SEQUENCES é filtrada por linhas com base nos privilégios de acesso detalhados, se um utilizador com privilégios de acesso detalhados a estiver a consultar.

Nome da coluna Tipo Descrição
CATALOG STRING O nome do catálogo que contém a sequência.
SCHEMA STRING O nome do esquema que contém a sequência.
NAME STRING O nome da sequência.
DATA_TYPE STRING O tipo dos valores da sequência. Usa o tipo de dados INT64.

SEQUENCE_OPTIONS

Esta tabela contém as opções de configuração para sequências. SEQUENCE_OPTIONS É filtrada ao nível das linhas com base em privilégios de acesso detalhados, se um utilizador com privilégios de acesso detalhados estiver a consultá-la.

Nome da coluna Tipo Descrição
CATALOG STRING O nome do catálogo que contém a sequência.
SCHEMA STRING O nome do esquema que contém a sequência.
NAME STRING O nome da sequência.
OPTION_NAME STRING O nome da opção de sequência.
OPTION_TYPE STRING Um nome de tipo de dados que é o tipo deste valor de opção.
OPTION_VALUE STRING O valor da opção de sequência. A expressão que resulta da análise do valor tem de permitir a conversão para OPTION_TYPE.

SPANNER_STATISTICS

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

Nome da coluna Tipo Descrição
CATALOG_NAME STRING O nome do catálogo. É sempre uma string vazia.
SCHEMA_NAME STRING O nome do esquema. O nome está vazio para o esquema predefinido e não está vazio para outros esquemas (por exemplo, o próprio INFORMATION_SCHEMA). Esta coluna nunca é nula.
PACKAGE_NAME STRING O nome do pacote de estatísticas.
ALLOW_GC BOOL FALSE se o pacote de estatísticas estiver isento da recolha de lixo; caso contrário, TRUE.
Este atributo tem de estar definido como FALSE para fazer referência ao pacote de estatísticas numa sugestão ou através da API do cliente.

VIEWS

Esta tabela filtrada por linhas apresenta as visualizações na base de dados. Os principais com 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 vistas nas quais o privilégio de SELECTcontrolo 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.

Nome da coluna Tipo Descrição
TABLE_CATALOG STRING O nome do catálogo. É sempre uma string vazia.
TABLE_SCHEMA STRING O nome do esquema. Uma string vazia se não tiver nome.
TABLE_NAME STRING O nome da vista.
VIEW_DEFINITION STRING O texto SQL da consulta que define a vista.
SECURITY_TYPE STRING O tipo de segurança da vista. INVOKER ou DEFINER.

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

ROLES

Esta tabela filtrada por linhas apresenta as funções de base de dados definidas para o controlo de acesso detalhado, incluindo as funções do sistema. Os principais com autorizações 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 principais só podem ver as funções de base de dados às quais lhes foi concedido acesso diretamente ou através de herança.

Nome da coluna Tipo Descrição
ROLE_NAME STRING O nome da função da base de dados.
IS_SYSTEM BOOL TRUE se a função da base de dados for uma função do sistema; FALSE caso contrário.

ROLE_GRANTEES

Esta tabela filtrada por linhas apresenta todas as associações de funções concedidas explicitamente a todas as funções da base de dados. Os principais com 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 associações de funções concedidas à função de base de dados atual ou a uma função da qual a função de base de dados atual seja 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
ROLE_NAME STRING O nome da função da base de dados na qual esta associação é concedida.
GRANTEE STRING O nome da função da base de dados à qual esta associação é concedida.

CHANGE_STREAMS

Esta tabela filtrada por linhas apresenta todas as streams de alterações de uma base de dados e indica quais monitorizam a base de dados completa em comparação com tabelas ou colunas específicas. Os principais com 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 STRING O nome do catálogo da stream de alterações. É sempre uma string vazia.
CHANGE_STREAM_SCHEMA STRING O nome do esquema desta stream de alterações. É sempre uma string vazia.
CHANGE_STREAM_NAME STRING O nome da stream de alterações.
ALL BOOL TRUE se esta stream de alterações monitorizar toda a base de dados. FALSE se este fluxo de alterações monitorizar tabelas ou colunas específicas.

CHANGE_STREAM_TABLES

Esta tabela 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 com 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 STRING O nome do catálogo da stream de alterações. É sempre uma string vazia.
CHANGE_STREAM_SCHEMA STRING O nome do esquema da stream de alterações. É sempre uma string vazia.
CHANGE_STREAM_NAME STRING O nome da stream de alterações a que esta linha se refere.
TABLE_CATALOG STRING O nome do catálogo da tabela. É sempre uma string vazia.
TABLE_SCHEMA STRING O nome do esquema da tabela. É sempre uma string vazia.
TABLE_NAME STRING O nome da tabela a que esta linha se refere.
ALL_COLUMNS BOOL TRUE se a stream de alterações desta linha monitorizar a totalidade da tabela a que esta linha se refere. Caso contrário, FALSE.

CHANGE_STREAM_COLUMNS

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

Os principais com 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.

Nome da coluna Tipo Descrição
CHANGE_STREAM_CATALOG STRING O nome do catálogo da stream de alterações. É sempre uma string vazia.
CHANGE_STREAM_SCHEMA STRING O nome do esquema da stream de alterações. É sempre uma string vazia.
CHANGE_STREAM_NAME STRING O nome da stream de alterações.
TABLE_CATALOG STRING O nome do catálogo da tabela. É sempre uma string vazia.
TABLE_SCHEMA STRING O nome do esquema da tabela. É sempre uma string vazia.
TABLE_NAME STRING O nome da tabela a que esta linha se refere.
COLUMN_NAME STRING O nome da coluna à qual esta linha se refere.

CHANGE_STREAM_OPTIONS

Esta tabela filtrada por linhas contém as opções de configuração para streams de alterações. Os principais com 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 STRING O nome do catálogo da stream de alterações. É sempre uma string vazia.
CHANGE_STREAM_SCHEMA STRING O nome do esquema da stream de alterações. É sempre uma string vazia.
CHANGE_STREAM_NAME STRING O nome da stream de alterações.
OPTION_NAME STRING O nome da opção de stream de alterações.
OPTION_TYPE STRING O tipo de dados da opção de stream de alterações.
OPTION_VALUE STRING O valor da opção de stream de alterações.

CHANGE_STREAM_PRIVILEGES

Esta tabela 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 da base de dados, incluindo public. Os principais com 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 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
CHANGE_STREAM_CATALOG STRING O nome do catálogo que contém a stream de alterações (uma string vazia).
CHANGE_STREAM_SCHEMA STRING O nome do esquema que contém a stream de alterações (uma string vazia).
CHANGE_STREAM_NAME STRING O nome da stream de alterações.
PRIVILEGE_TYPE STRING SELECT (o único privilégio permitido para streams de alterações).
GRANTEE STRING O nome da função da base de dados à qual este privilégio é concedido.

ROUTINES

Esta tabela filtrada por linhas apresenta todas as funções de leitura do fluxo de alterações de uma base de dados. Os principais com 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 STRING O nome do catálogo da rotina. É sempre uma string vazia.
SPECIFIC_SCHEMA STRING O nome do esquema da rotina. É sempre uma string vazia.
SPECIFIC_NAME STRING O nome da rotina. Identifica a rotina de forma exclusiva, mesmo que o nome esteja sobrecarregado.
ROUTINE_CATALOG STRING O nome do catálogo da rotina. É sempre uma string vazia.
ROUTINE_SCHEMA STRING O nome do esquema da rotina. É sempre uma string vazia.
ROUTINE_NAME STRING O nome da rotina. (Pode ser duplicado em caso de sobrecarga.)
ROUTINE_TYPE STRING O tipo de rotina (FUNCTION ou PROCEDURE). Sempre FUNCTION
DATA_TYPE STRING O tipo de dados que a rotina devolve
ROUTINE_BODY STRING O tipo do corpo da rotina (SQL ou EXTERNAL).
ROUTINE_DEFINITION STRING A definição de ROUTINE_BODY.
SECURITY_TYPE STRING O tipo de segurança da rotina. Sempre INVOKER.

ROUTINE_OPTIONS

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

Os principais com 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 STRING O nome do catálogo da rotina. É sempre uma string vazia.
SPECIFIC_SCHEMA STRING O nome do esquema da rotina. É sempre uma string vazia.
SPECIFIC_NAME STRING O nome da rotina. Identifica de forma exclusiva a rotina em caso de sobrecarga de nomes.
OPTION_NAME STRING Um identificador SQL que identifica de forma exclusiva a opção.
OPTION_TYPE STRING O tipo de dados de OPTION_VALUE.
OPTION_VALUE STRING Um literal SQL que descreve o valor desta opção. O valor desta coluna tem de ser analisável como parte de uma consulta.

PARAMETERS

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

Os principais com 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 STRING O nome do catálogo da rotina. É sempre uma string vazia.
SPECIFIC_SCHEMA STRING O nome do esquema da rotina. É sempre uma string vazia.
SPECIFIC_NAME STRING O nome da rotina. Identifica de forma exclusiva a rotina em caso de sobrecarga de nomes.
ORDINAL_POSITION INT64 A posição ordinal do parâmetro na rotina, começando com um valor de 1.
PARAMETER_NAME STRING O nome do parâmetro.
DATA_TYPE STRING O tipo de dados do parâmetro.
PARAMETER_DEFAULT STRING O valor predefinido do parâmetro ou NULL para parâmetros que não têm um valor predefinido.

ROUTINE_PRIVILEGES

Esta tabela 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 com 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 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
SPECIFIC_CATALOG STRING O nome do catálogo da rotina. É sempre uma string vazia.
SPECIFIC_SCHEMA STRING O nome do esquema da rotina. É sempre uma string vazia.
SPECIFIC_NAME STRING O nome da rotina. Identifica de forma exclusiva a rotina em caso de sobrecarga de nomes.
PRIVILEGE_TYPE STRING Sempre EXECUTE.
GRANTEE STRING O nome da função da base de dados à qual este privilégio é concedido.

ROLE_TABLE_GRANTS

Esta tabela filtrada por linhas lista 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 com 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 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 STRING Não usado. Sempre NULL.
GRANTEE STRING O nome da função da base de dados à qual este privilégio é concedido.
TABLE_CATALOG STRING Não usado. É sempre uma string vazia.
TABLE_SCHEMA STRING Não usado. É sempre uma string vazia.
TABLE_NAME STRING O nome da tabela ou da vista.
PRIVILEGE_TYPE STRING O tipo de privilégio (SELECT, INSERT, UPDATE ou DELETE).
IS_GRANTABLE STRING Não usado. Sempre NO.

ROLE_COLUMN_GRANTS

Esta tabela 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 com 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 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 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 STRING Não usado. Sempre NULL.
GRANTEE STRING O nome da função da base de dados à qual este privilégio é concedido.
TABLE_CATALOG STRING Não usado. É sempre uma string vazia.
TABLE_SCHEMA STRING Não usado. É sempre uma string vazia.
TABLE_NAME STRING O nome da tabela ou da vista que contém a coluna.
COLUMN_NAME STRING O nome da coluna na qual o privilégio é concedido.
PRIVILEGE_TYPE STRING O tipo de privilégio (SELECT, INSERT ou UPDATE).
IS_GRANTABLE STRING Não usado. Sempre NO.

ROLE_CHANGE_STREAM_GRANTS

Esta tabela 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 com 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 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
CHANGE_STREAM_CATALOG STRING Não usado. É sempre uma string vazia.
CHANGE_STREAM_SCHEMA STRING O nome do esquema que contém a stream de alterações.
CHANGE_STREAM_NAME STRING O nome da stream de alterações.
PRIVILEGE_TYPE STRING O tipo de privilégio (apenas SELECT).
GRANTEE STRING O nome da função da base de dados à qual este privilégio é concedido.

ROLE_MODEL_GRANTS

Esta tabela filtrada por linhas lista todos os privilégios de controlo de acesso detalhado concedidos em todos os modelos a qualquer função da base de dados, incluindo public. Os principais com 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 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 STRING Não usado. Sempre NULL.
GRANTEE STRING O nome da função da base de dados à qual este privilégio é concedido.
MODEL_CATALOG STRING Não usado. É sempre uma string vazia.
MODEL_SCHEMA STRING Não usado. É sempre uma string vazia.
MODEL_NAME STRING O nome do modelo.
PRIVILEGE_TYPE STRING O tipo de privilégio (EXECUTE).
IS_GRANTABLE STRING Não usado. Sempre NO.

ROLE_ROUTINE_GRANTS

Esta tabela 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 com autorizações ao nível da base de dados do IAM e os principais aos quais foi concedido acesso à função de 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 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 STRING Não usado. Sempre NULL.
GRANTEE STRING O nome da função à qual o privilégio é concedido.
SPECIFIC_CATALOG STRING O nome do catálogo de rotinas.
SPECIFIC_SCHEMA STRING O nome do esquema de rotina.
SPECIFIC_NAME STRING O nome da rotina. Identifica de forma exclusiva a rotina em caso de sobrecarga de nomes.
PRIVILEGE_TYPE STRING O tipo de privilégio concedido. Sempre EXECUTE.
IS_GRANTABLE STRING Não usado. Sempre NO.

MODELS

Esta tabela apresenta todos os modelos de uma base de dados.

Nome da coluna Tipo Descrição
MODEL_CATALOG STRING O nome do catálogo. É sempre uma string vazia.
MODEL_SCHEMA STRING O nome do esquema deste modelo. É sempre uma string vazia.
MODEL_NAME STRING O nome do modelo.
IS_REMOTE BOOL TRUE se for um modelo remoto. FALSE se este for um modelo gerido.

MODEL_OPTIONS

Esta tabela contém as opções de configuração para modelos.

Nome da coluna Tipo Descrição
MODEL_CATALOG STRING O nome do catálogo. É sempre uma string vazia.
MODEL_SCHEMA STRING O nome do esquema deste modelo. É sempre uma string vazia.
MODEL_NAME STRING O nome do modelo.
OPTION_NAME STRING O nome da opção do modelo.
OPTION_TYPE STRING O tipo de dados da opção do modelo.
OPTION_VALUE STRING O valor da opção de modelo.

MODEL_COLUMNS

Esta tabela lista as colunas num modelo.

Nome da coluna Tipo Descrição
MODEL_CATALOG STRING O nome do catálogo. É sempre uma string vazia.
MODEL_SCHEMA STRING O nome do esquema deste modelo. É sempre uma string vazia.
MODEL_NAME STRING O nome do modelo.
COLUMN_KIND STRING Tipo de coluna do modelo. Uma das seguintes opções: "INPUT" ou "OUTPUT".
COLUMN_NAME STRING O nome da coluna.
DATA_TYPE STRING O tipo de dados SQL padrão da coluna.
ORDINAL_POSITION INT64 Posição ordinal da coluna, começando com o valor 1, para preservar a ordem das colunas declaradas.
IS_EXPLICIT BOOL TRUE se a coluna foi especificada explicitamente no DDL, FALSE se a coluna foi descoberta a partir do ponto final.

MODEL_COLUMN_OPTIONS

Esta tabela contém as opções de configuração para colunas de modelos.

Nome da coluna Tipo Descrição
MODEL_CATALOG STRING O nome do catálogo. É sempre uma string vazia.
MODEL_SCHEMA STRING O nome do esquema deste modelo. É sempre uma string vazia.
MODEL_NAME STRING O nome do modelo.
COLUMN_KIND STRING Tipo de coluna do modelo. Uma das seguintes opções: "INPUT" ou "OUTPUT".
COLUMN_NAME STRING O nome da coluna.
OPTION_NAME STRING O nome da opção de coluna do modelo.
OPTION_TYPE STRING O tipo de dados da opção de coluna do modelo.
OPTION_VALUE STRING O valor da opção de coluna do modelo.

MODEL_PRIVILEGES

Esta tabela filtrada por linhas apresenta todos os privilégios concedidos ao nível do modelo às funções da base de dados, incluindo public. Os principais com 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 privilégios para modelos nos quais o privilégio de EXECUTE controlo de acesso detalhado é 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
MODEL_CATALOG STRING Não usado. É sempre uma string vazia.
MODEL_SCHEMA STRING Não usado. É sempre uma string vazia.
MODEL_NAME STRING O nome do modelo no qual são concedidos privilégios de controlo de acesso detalhado.
PRIVILEGE_TYPE STRING EXECUTE>
GRANTEE STRING O nome da função da base de dados à qual este privilégio é concedido.

PROPERTY_GRAPHS

Esta tabela filtrada por linhas apresenta os gráficos de propriedades na base de dados. Os principais com autorizações de IAM ao nível da base de dados e os principais aos quais foi concedido acesso à função spanner_info_reader do sistema ou a membros dessa função podem ver todas as linhas nesta vista. Todos os outros diretores só podem ver gráficos de propriedades se cumprirem os requisitos para ver todas as tabelas usadas para definir esses gráficos.

Nome da coluna Tipo Descrição
PROPERTY_GRAPH_CATALOG STRING O nome do catálogo. É sempre uma string vazia.
PROPERTY_GRAPH_SCHEMA STRING O nome do esquema. Uma string vazia se não tiver nome.
PROPERTY_GRAPH_NAME STRING O nome do gráfico de propriedades.
PROPERTY_GRAPH_METADATA_JSON JSON A definição do gráfico de propriedades no formato JSON.

A coluna PROPERTY_GRAPH_METADATA_JSON contém um objeto JSON PropertyGraph definido da seguinte forma:

Nome do objeto JSON Nome do campo Tipo JSON Descrição
PropertyGraph catalog string O nome do catálogo. É sempre uma string vazia.
schema string O nome do esquema. Uma string vazia se não tiver nome.
name string O nome do gráfico de propriedades.
nodeTables array<object> Uma lista de GraphElementTable objetos para nós.
edgeTables array<object> Uma lista de GraphElementTable objetos para arestas.
labels array<object> Uma lista de GraphElementLabel objetos.
propertyDeclarations array<object> Uma lista de GraphPropertyDeclaration objetos.
GraphElementTable name string O nome da tabela de elementos do gráfico.
kind string NODE ou EDGE.
baseCatalogName string O nome do catálogo que contém a tabela base.
baseSchemaName string O nome do esquema que contém a tabela base.
baseTableName string O nome da tabela de entrada a partir da qual os elementos são criados.
keyColumns array<string> Os nomes das colunas que constituem a chave do elemento.
labelNames array<string> Os nomes das etiquetas anexados a esta tabela de elementos.
propertyDefinitions array<object> Uma lista de GraphPropertyDefinition objetos.
dynamicLabelExpr string O nome da coluna que contém a definição de DYNAMIC LABEL.
dynamicPropertyExpr string O nome da coluna que contém a definição de DYNAMIC PROPERTIES.
sourceNodeTable object Um objeto GraphNodeTableReference. Só existe quando o elemento kind é EDGE.
destinationNodeTable object Um objeto GraphNodeTableReference. Só existe quando o elemento kind é EDGE.
GraphNodeTableReference nodeTableName string O nome da tabela de elementos do gráfico.
edgeTableColumns array<string> O nome das colunas associadas às chaves de origem e de destino para as arestas.
nodeTableColumns array<string> O nome das colunas associadas às chaves de origem e de destino dos nós.
GraphElementLabel name string O nome da etiqueta.
propertyDeclarationNames array<string> Os nomes das propriedades associadas a esta etiqueta.
GraphPropertyDeclaration name string O nome da propriedade.
type string O tipo de propriedade.
GraphPropertyDefinition propertyDeclarationName string O nome da propriedade.
valueExpressionSql string A expressão que define a propriedade.

Exemplos

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

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

Devolva o nome de todas as tabelas no INFORMATION_SCHEMA:

SELECT
  t.table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_schema = "SPANNER_SYS"

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

SELECT
  t.column_name,
  t.spanner_type,
  t.is_nullable
FROM
  information_schema.columns AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema = ''
  AND
  t.table_name = 'MyTable'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name,
  t.ordinal_position

Devolve informações sobre qual é a região principal predefinida da base de dados. Devolve um valor vazio se o líder predefinido não estiver definido:

SELECT
  s.option_name,
  s.option_value
FROM
  information_schema.database_options s
WHERE
  s.option_name = 'default_leader'

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

SELECT
  t.table_schema,
  t.table_name,
  t.index_name,
  t.parent_table_name
FROM
  information_schema.indexes AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')
  AND
  t.index_type != 'PRIMARY_KEY'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name,
  t.index_name

Devolve todas as colunas que usam opções diferentes das predefinidas:

SELECT
  t.table_schema,
  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_catalog = ''
AND
  t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')

Devolve 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=''
  AND s.option_name IN ('optimizer_version',
    'optimizer_statistics_package')

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

SELECT
  *
FROM
  information_schema.spanner_statistics;

Devolver todas as sequências:

SELECT
  *
FROM
  information_schema.sequences;

Devolver todas as opções de sequência para a sequência denominada "MySequence"

SELECT
  *
FROM
  information_schema.sequence_options WHERE name="MySequence";

Devolver os nomes de todos os gráficos de propriedades e as respetivas definições:

SELECT
  property_graph_name,
  property_graph_metadata_json
FROM
  information_schema.property_graphs

Devolver os nomes de todos os gráficos de propriedades juntamente com as respetivas etiquetas e propriedades:

SELECT
  property_graph_name,
  property_graph_metadata_json.labels,
  property_graph_metadata_json.propertyDeclarations
FROM
  information_schema.property_graphs

O que se segue?