Os catálogos do sistema são os locais onde os sistemas gerenciadores de banco de dados relacionais armazenam os metadados do esquema, tais como informações sobre tabelas e colunas, e informações de controle internas. Os catálogos do sistema do PostgreSQL são tabelas comuns. Estas tabelas podem ser removidas e recriadas, podem ser adicionadas colunas, podem ser inseridos e atualizados valores, e desta forma arruinar inteiramente o sistema. Normalmente, os catálogos do sistema não devem ser modificados manualmente, sempre existe um comando SQL para fazê-lo (Por exemplo, CREATE DATABASE insere uma linha no catálogo pg_database — e cria realmente o banco de dados no disco). Existem exceções para algumas operações obscuras muito particulares, como adicionar método de acesso de índice. [1]
A Tabela 42-1 lista os catálogos do sistema. A documentação mais detalhada sobre cada catálogo é mostrada a seguir.
Os catálogos do sistema são, em sua maioria, copiados do banco de dados modelo durante a criação do banco de dados e, portanto, estes catálogos são específicos do banco de dados. Alguns poucos catálogos são compartilhados fisicamente entre todos os bancos de dados do agrupamento; isto está indicado na descrição individual do catálogo.
Tabela 42-1. Catálogos do sistema
Nome do catálogo | Finalidade |
---|---|
pg_aggregate | funções de agregação |
pg_am | métodos de acesso de índice |
pg_amop | operadores de método de acesso |
pg_amproc | procedimentos de suporte de método de acesso |
pg_attrdef | valor padrão das colunas |
pg_attribute | colunas de tabela ("atributos") |
pg_cast | casts (conversões de tipos de dado) |
pg_class | tabelas, índices, seqüências, visões ("relações") |
pg_constraint | restrições de verificação, restrições de unicidade, restrições de chave primária, restrições de chave estrangeira |
pg_conversion | informações sobre conversão de codificação |
pg_database | bancos de dados que fazem parte deste agrupamento de bancos de dados |
pg_depend | dependências entre objetos do banco de dados |
pg_description | descrições ou comentários sobre os objetos do banco de dados |
pg_group | grupos de usuários do banco de dados |
pg_index | informações adicionais sobre índices |
pg_inherits | hierarquia de herança de tabela |
pg_language | linguagens para escrever funções |
pg_largeobject | objetos grandes |
pg_listener | suporte a notificação assíncrona |
pg_namespace | esquemas |
pg_opclass | classes de operador de método de acesso de índice |
pg_operator | operadores |
pg_proc | funções e procedimentos |
pg_rewrite | regras de reescrita dos comandos |
pg_shadow | usuários do banco de dados |
pg_statistic | estatísticas do planejador |
pg_tablespace | espaços de tabelas do agrupamento de bancos de dados |
pg_trigger | gatilhos |
pg_type | tipos de dado |
[1] |
No diretório do tutorial existe o arquivo syscat.sql contendo várias consultas interessantes aos catálogos do sistema. (N. do T.) |