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
.- A API
- As consultas em relação à
information_schema
podem usar uma desatualização forte e limitada ou limites de data/hora de desatualização exatos. - Se estiver a usar uma base de dados com dialeto GoogleSQL, consulte o artigo Esquema de informações para bases de dados com dialeto GoogleSQL.
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
espanner_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:
|
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:
|
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:
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:
|
constraint_column_usage
Esta vista contém uma linha sobre cada coluna usada por uma restrição.
- Para as restrições
PRIMARY KEY
eCHECK
definidas pela palavra-chaveNOT NULL
, a vista contém essas colunas. - Para restrições
CHECK
criadas com a palavra-chaveCHECK
, 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 deKEY_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:
|
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 KEY s, 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 EXECUTE
controlo 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:
|
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:
|
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:
|
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:
|
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 EXECUTE
controlo 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:
|
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:
|
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:
|
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
, ouDELETE
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 apublic
. - Os privilégios
SELECT
,INSERT
ouUPDATE
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 apublic
.
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:
|
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:
|
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?
- Saiba mais sobre as ferramentas de introspeção disponíveis para ajudar a investigar problemas da base de dados.