O catálogo pg_database armazena informações sobre os bancos de dados disponíveis. Os bancos de dados são criados com o comando CREATE DATABASE. Veja Gerenciamento de bancos de dados para obter detalhes sobre o significado de alguns dos parâmetros.
Diferentemente da maioria dos catálogos de sistema, o catálogo pg_database é compartilhado por todos os bancos de dados da instância: há apenas uma cópia de pg_database por instância, e não uma por banco de dados.
Tabela 52.15. Colunas de pg_database
Coluna Tipo de dados Descrição |
|---|
Identificador da linha |
Nome do banco de dados |
O dono do banco de dados, geralmente o usuário que o criou |
Codificação de caracteres para este banco de dados
(a função
|
Provedor de localidade para este banco de dados:
|
Se for verdade, então este banco de dados pode ser clonado por
qualquer usuário com privilégios |
Se for falso, ninguém poderá se conectar a este banco de dados.
Isto é usado para proteger o banco de dados
|
Indica que existem gatilhos de evento de conexão (login) definidos para este banco de dados. Este sinalizador é usado para evitar consultas adicionais à tabela pg_event_trigger durante a ativação de cada processo servidor em segundo plano (backend). Este sinalizador é usado internamente pelo PostgreSQL não devendo ser alterado manualmente nem lido para fins de monitoramento. |
Define o número máximo de conexões simultâneas que podem ser estabelecidas com este banco de dados. -1 significa sem limite; -2 indica que o banco de dados é inválido. |
Todos os IDs de transação anteriores a este foram substituídos por um ID de transação permanente (“congelado”) neste banco de dados. É usado para rastrear se o banco de dados precisa ser limpo para evitar o reinício do ID da transação, ou para permitir que pg_xact seja encolhido. É o menor dos valores de pg_class.relfrozenxid por tabela. |
Todos os IDs multixact anteriores a este
foram substituídos por um ID de transação neste banco de dados.
É usado para rastrear se o banco de dados precisa ser limpo para
evitar o reinício do ID multixact,
ou para permitir que |
O espaço de tabela padrão do banco de dados. Neste banco de dados, todas as tabelas para as quais pg_class.reltablespace for zero serão armazenadas neste espaço de tabelas; em particular, todos os catálogos do sistema não compartilhados estarão lá. |
LC_COLLATE para este banco de dados |
LC_CTYPE para este banco de dados |
Nome do provedor de localidade de ordenação para este banco de dados.
Se o provedor for a |
Regras de ordenação ICU para este banco de dados |
Versão específica do provedor de ordenação. É registrada quando o banco de dados é criado e, posteriormente, verificado durante o uso, para detectar alterações na definição de ordenação que poderiam levar à corrupção de dados. |
Privilégios de acesso; veja Privilégios para obter detalhes |
Exemplo 52.8. Exemplo do tradutor
Bancos de dados do usuário corrente
Uso do catálogo pg_database para mostrar algumas informações sobre os bancos de dados do usuário corrente, que no caso é a usuária ana.
ana=> SELECT oid, ana-> datname, ana-> datdba::regrole::text, ana-> datlocprovider, ana-> pg_encoding_to_char(encoding) AS encoding, ana-> datcollate, ana-> datctype ana-> FROM pg_database ana-> WHERE datdba = CURRENT_USER::regrole::oid ana-> ORDER BY oid\gx
-[ RECORD 1 ]--+------------ oid | 34377 datname | ana datdba | ana datlocprovider | c encoding | UTF8 datcollate | pt_BR.UTF-8 datctype | pt_BR.UTF-8 -[ RECORD 2 ]--+------------ oid | 108629 datname | vismat datdba | ana datlocprovider | c encoding | UTF8 datcollate | pt_BR.UTF-8 datctype | pt_BR.UTF-8 -[ RECORD 3 ]--+------------ oid | 108777 datname | calçados datdba | ana datlocprovider | c encoding | UTF8 datcollate | pt_BR.UTF-8 datctype | pt_BR.UTF-8