Neste artigo, vamos explorar um dos sistemas embutidos do PostgreSQL conhecido como information_schema.
O que é o Information_Schema?
O information_schema é um catálogo do sistema que forma um conjunto padrão de views com informações sobre os objetos do banco de dados PostgreSQL. Basicamente, é um metabanco de dados que guarda informações sobre o seu banco de dados atual. Ele está presente em todos os mecanismos de banco de dados SQL compatíveis com o padrão, o que o torna bastante útil em migrações.
Vale observar que o information_schema é somente leitura e não permite inserir novas informações nem alterar dados existentes. Vamos começar a explorar as diferentes views do information_schema que podem ser úteis para diversas tarefas.
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'information_schema';
O código é compatível com todas as versões do PostgreSQL.
Ao ser executado, este código retorna uma lista de todas as views disponíveis para os usuários no information_schema.
Por que usar o Information_Schema?
O information_schema é fundamental quando você quer trabalhar de forma mais eficiente com as estruturas do banco de dados, principalmente em relação a:
- Tabelas
- Colunas
- Índices
- Triggers
- Constraints
- Schemas
Information_Schema.Tables
A view information_schema.tables contém detalhes sobre todas as tabelas do banco de dados conectado.
SELECT table_name
FROM information_schema.tables
WHERE table_type = 'BASE TABLE'
AND table_schema NOT IN ('pg_catalog', 'information_schema');
O código é compatível com todas as versões do PostgreSQL. O resultado será uma lista de todas as tabelas base do seu banco de dados.
Information_Schema.Columns
A view information_schema.columns é onde você obtém detalhes específicos sobre as colunas do seu banco de dados.
SELECT table_name, column_name, data_type
FROM information_schema.columns
WHERE table_schema NOT IN ('pg_catalog', 'information_schema')
AND table_name = 'your_table';
O código é compatível com qualquer versão do PostgreSQL. Substitua ‘your_table’ pelo nome da sua tabela para obter uma lista de todas as colunas e seus tipos de dados na tabela especificada.
Information_Schema.Triggers
Informações sobre triggers podem ajudar na depuração ou no entendimento de dependências. A view information_schema.triggers é usada para obter detalhes sobre os triggers associados ao banco de dados.
SELECT event_object_table, trigger_name, action_statement, action_timing
FROM information_schema.triggers;
Este código, compatível com todas as versões do PostgreSQL, retorna o nome da tabela, o nome do trigger, a ação do trigger e o momento em que ele é disparado.
Information_Schema.Key_Column_Usage
A view information_schema.key_column_usage fornece informações que facilitam o entendimento dos relacionamentos de chave estrangeira no seu banco de dados.
SELECT constraint_name, table_name, column_name, ordinal_position
FROM information_schema.key_column_usage
WHERE table_name = 'your_table';
Substitua ‘your_table’ pelo nome da sua tabela e execute o código, compatível com todas as versões do PostgreSQL, para obter constraint_name, table_name, column_name e ordinal_position de cada chave na tabela especificada.
Conclusão
Neste tutorial, desvendamos os detalhes do information_schema do PostgreSQL. Aproveitando as views do information_schema, você ganha mais controle e obtém insights mais precisos sobre a estrutura e os elementos do seu banco de dados. Se você está migrando para o PostgreSQL a partir de outro banco de dados SQL, as views do information_schema serão especialmente úteis, já que fazem parte do padrão SQL.
Sua jornada com o PostgreSQL não termina aqui. Fique de olho nos próximos guias, que vão explorar mais a fundo o vasto universo do PostgreSQL, com tópicos mais avançados, dicas e truques.
Beekeeper Studio é um cliente de banco de dados gratuito e open source
A melhor ferramenta de consultas e edição de SQL que já usei. Tem tudo o que preciso para gerenciar meu banco de dados. - ⭐⭐⭐⭐⭐ Mit
O Beekeeper Studio é rápido, intuitivo e fácil de usar. Ele suporta vários bancos de dados e funciona muito bem no Windows, Mac e Linux.
O que os usuários dizem sobre o Beekeeper Studio
"O Beekeeper Studio substituiu completamente meu antigo fluxo de trabalho com SQL. É rápido, intuitivo e torna o trabalho com banco de dados agradável de novo."
"Já testei muitas GUIs de banco de dados, mas o Beekeeper encontra o equilíbrio perfeito entre recursos e simplicidade. Simplesmente funciona."