A visão tables contém todas as tabelas e visões definidas no banco de dados corrente. Somente são mostradas as tabelas e visões para as quais o usuário corrente tem acesso (por ser o dono, ou por ter algum privilégio).
Tabela 35.52. Colunas de tables
Coluna Tipo de dados Descrição |
|---|
Nome do banco de dados que contém a tabela (sempre o banco de dados corrente) |
Nome do esquema que contém a tabela |
Nome da tabela |
Tipo da tabela: |
Aplica-se a uma funcionalidade não disponível no PostgreSQL |
Aplica-se a uma funcionalidade não disponível no PostgreSQL |
Se a tabela for uma tabela tipada [a], o nome do banco de dados que contém o tipo de dados subjacente (sempre o banco de dados corrente), ou nula caso contrário. |
Se a tabela for uma tabela tipada, o nome do esquema que contém o tipo de dados subjacente; caso contrário, será nulo. |
Se a tabela for uma tabela tipada, o nome do tipo de dados subjacente, ou nula caso contrário |
|
|
Ainda não implementado |
[a] Tabelas tipadas são tabelas definidas com um tipo de dados estruturado definido pelo usuário. IBM DB2 – Typed tables (N. T.) |
Exemplo 35.50. Exemplo do tradutor
Tabelas e visões definidas no banco de dados corrente
Uso do esquema de informações para mostrar as tabelas e visões da
usuária ana no
esquema public.
Para este exemplo, foi acrescentada a
tabela tipada pessoa_tipada
às tabelas autor e
literatura
que a usuária já posuía, e foi usado o jsonb
para eliminar as colunas com valor nulo e formatar a saída.
CREATE TYPE tipo_pessoa AS (
nome text, -- nome da pessoa
altura_cm numeric, -- altura da pessoas em cm
peso_kg numeric, -- peso da pessoa em kg
imc numeric -- índice de massa corporal
);
CREATE TYPE
CREATE TABLE pessoa_tipada OF tipo_pessoa;
CREATE TABLE
SELECT jsonb_pretty(jsonb_strip_nulls(to_jsonb(t)))
FROM information_schema.tables t
WHERE table_schema = 'public';
jsonb_pretty
----------------------------------------------
{ +
"is_typed": "NO", +
"table_name": "autor", +
"table_type": "BASE TABLE", +
"table_schema": "public", +
"table_catalog": "ana", +
"is_insertable_into": "YES" +
}
{ +
"is_typed": "NO", +
"table_name": "literatura", +
"table_type": "BASE TABLE", +
"table_schema": "public", +
"table_catalog": "ana", +
"is_insertable_into": "YES" +
}
{ +
"is_typed": "YES", +
"table_name": "pessoa_tipada", +
"table_type": "BASE TABLE", +
"table_schema": "public", +
"table_catalog": "ana", +
"is_insertable_into": "YES", +
"user_defined_type_name": "tipo_pessoa",+
"user_defined_type_schema": "public", +
"user_defined_type_catalog": "ana" +
}
(3 linhas)