O esquema de informações em si é um esquema chamado
information_schema.
Este esquema existe automaticamente em todos os bancos de dados.
O dono desse esquema é o usuário inicial do banco de dados na
instância, e este usuário naturalmente tem todos os privilégios
neste esquema, incluindo a capacidade de removê-lo
(mas a economia de espaço obtida com isto é mínima).
Por padrão, o esquema de informações não está no caminho de procura de esquema, portanto é necessário acessar todos os objetos contidos nele por meio de nomes qualificados. Como os nomes de alguns objetos no esquema de informações são nomes genéricos que podem ocorrer em aplicações de usuário, deve-se ter cuidado se quiser colocar o esquema de informações no caminho de procura.
Exemplo 35.1. Exemplo do tradutor
Esquemas presentes no banco de dados
Este exemplo usa a visão schemata do esquema de informações e um meta-comando do psql para mostrar os esquemas presentes no banco de dados cristina da usuária cristina.
SELECT catalog_name, schema_name, schema_owner FROM information_schema.schemata;
catalog_name | schema_name | schema_owner --------------+--------------------+------------------- cristina | public | pg_database_owner cristina | tutorial | cristina cristina | information_schema | postgres cristina | pg_catalog | postgres (4 linhas)
\dnSx+
Lista de esquemas
-[ RECORD 1 ]---------+---------------------------------------
Nome | information_schema
Dono | postgres
Privilégios de acesso | postgres=UC/postgres +
| =U/postgres
Descrição |
-[ RECORD 2 ]---------+---------------------------------------
Nome | pg_catalog
Dono | postgres
Privilégios de acesso | postgres=UC/postgres +
| =U/postgres
Descrição | system catalog schema
-[ RECORD 3 ]---------+---------------------------------------
Nome | pg_toast
Dono | postgres
Privilégios de acesso |
Descrição | reserved schema for TOAST tables
-[ RECORD 4 ]---------+---------------------------------------
Nome | public
Dono | pg_database_owner
Privilégios de acesso | pg_database_owner=UC/pg_database_owner+
| =U/pg_database_owner
Descrição | standard public schema
-[ RECORD 5 ]---------+---------------------------------------
Nome | tutorial
Dono | cristina
Privilégios de acesso |
Descrição | Objetos do tutorial