Introdução
Se você está procurando uma solução intuitiva e eficiente para gerenciar suas bases de dados PostgreSQL, o pgAdmin 4 é a resposta. Esse software de administração de banco de dados oferece uma interface amigável e repleta de recursos para simplificar tarefas de manutenção e análise de dados. Além de fornecer uma alternativa acessível ao cliente da linha de comando (psql), o pgAdmin 4 destaca-se por sua capacidade de visualização gráfica, facilitando a navegação e a manipulação de bancos de dados complexos. Neste guia, exploraremos as vantagens e as funcionalidades desse software. Por ser um artigo direcionado ao pgAdmin 4, veremos a instalação isolada dele, sem considerar o servidor PostgreSQL, tendo como material de referência sua página oficial: https://www.pgadmin.org/.
Roteiro:
- O que é o pgAdmin?
- Instalação
- Visão geral
- Ferramentas úteis
- Gerador de DER
- Import/Export Data
- Backup
- Conexão com um servidor remoto
- Exemplos práticos (pgbench e Pagila)
- Objetos
- Dashboard
O que é o pgAdmin 4?
O pgAdmin é uma ferramenta de administração e gerenciamento de banco de dados open source, desenvolvida para gerenciamento de bases PostgreSQL, ou seja, é a aplicação cliente que acessa um servidor de banco de dados.
Entre seus principais recursos estão:
- Interface gráfica intuitiva, que facilita a interação com o PostgreSQL;
- Editor SQL, para criação de consultas (queries);
- Gerenciamento de servidores, que possibilita conexão com vários servidores PostgreSQL;
- Backup e restauração;
- Visualização gráfica de dados, que facilita a compreensão da arquitetura do banco;
- Possibilidade de adicionar extensões.
Instalação
Para começar, vamos acessar a página de download no site oficial do pgAdmin 4 para baixar, no nosso caso, a última versão disponível para Windows na data de criação deste artigo (pgAdmin 4 v8.4).
Em Windows, temos como requisitos de download as versões 7, 8, 8.1, 10 e Server 2008 R2 ou superiores, de processador com arquitetura de 32 e 64 bits.
Para chegar ao link de download, é necessário escolher seu sistema operacional nesta página, conforme imagem abaixo (escolhemos Windows):
Depois, devemos selecionar a versão desejada (recomendável optar pela mais recente):
Por fim, devemos selecionar o arquivo para download, sendo o segundo link, que contém um executável (pgadmin4-8.4-x64.exe):
O arquivo “current maintener” contém informações sobre quem é o mantenedor responsável por compilar e distribuir o pacote pgAdmin 4 para Windows.
Feito o download, devemos rodar o executável baixado e, então, ver a tela inicial do assistente de configuração do pgAdmin 4, bastando clicar em “Next” (“Próximo”) para continuar:
A primeira ação nesse assistente de configuração é aceitar o Contrato de Licença do software, selecionando a primeira opção (“I accept the agreement”) e clicando em “Next” mais uma vez:
Agora, precisamos selecionar um local para instalar o pgAdmin, e é recomendável deixar a estrutura de caminho padrão e apenas clicar em “Next” para continuar:
Nessa etapa, vamos escolher o nome da pasta que será criada no menu “Iniciar” para agrupar os atalhos do pgAdmin 4, sendo mais uma vez recomendável deixar o padrão, para maior facilidade ao buscar. Para confirmar, é só clicar em “Next”:
E aqui vamos apenas confirmar as definições realizadas anteriormente, clicando agora em “Install” (“Instalar”):
Na última tela do assistente, precisamos apenas clicar em “Finish” (“Finalizar”) para encerrar a configuração:
Visão geral
Após a tela de carregamento inicial, esta é a primeira visualização do programa:
Layout do pgAdmin 4
No canto superior esquerdo, temos quatro opções:
- “File” (“Arquivo”), que conta com algumas configurações de visualização de arquivo;
- “Object” (“Objeto”), que traz opções relacionadas aos objetos, ou seja, às partes que compõem nosso banco, como criação de schemas, trigger etc.;
- “Tools” (“Ferramentas”), trazendo utilitários importantes para a administração da base, como o “Query tool”, “Backup”, “Import/Export” (veremos esses adiante) e outros;
- “Help” (“Ajuda”), sendo o botão para utilizarmos quando for necessário algum tipo de suporte na utilização do pgAdmin, como acesso ao site e à documentação oficial e até mesmo ao suporte online.
Na lateral esquerda, temos o explorador de objetos, que trará em forma de árvore hierárquica todos os possíveis objetos do banco de dados, como databases, schemas, tabelas, triggers, functions, procedures etc., onde é possível interagir com cada objeto clicando em cima dele com o botão direito do mouse, encontrando opções como criar novo (“Create”), atualizar (“Refresh”), buscar objetos (“Search Objects…”), assistente de concessão de permissões (“Grant Wizard”), ferramenta de PSQL e consulta (“PSQL Tool” e “Query Tool”, além de botões na faixa superior, onde encontramos algumas opções iguais às já citadas e outras novas, como exibir todas as linhas (“All Rows”) e filtrar linhas (“Filtered Rows”):
No centro e na lateral direita, temos um visualizador de informações de um objeto que esteja selecionado, com diferentes abas para trazer informações distintas sobre esse objeto (a imagem a seguir não possui informação pois não havíamos selecionado nenhum objeto):
Nessas abas que já vêm abertas, temos informações interessantes sobre os objetos do banco de dados (em um primeiro momento, essas abas podem vir com as informações em branco, caso não haja conexão com nenhum servidor, mas iremos ver como conectar em alguns tópicos adiante):
A primeira aba é a “Dashboard” (“Painel”), que traz um painel com diversas informações muito úteis para uma visão geral do estado do objeto selecionado (podendo ser servidor ou base de dados), incluindo gráficos de sessões, transações, linhas lidas e escritas, operações de leitura e gravação em disco e tabelas com dados de atividade, como IDs de processos, base de dados, usuário, cliente, início do serviço e transação etc.:
Na próxima aba, “Properties” (“Propriedades”), encontramos uma variedade de informações detalhadas e configurações que variam de acordo com o objeto selecionado, podendo incluir ID, nome e tipo, proprietário, versão do PostgreSQL utilizada, dados de conexão, opções relacionadas à autenticação e criptografia, informações sobre codificação e segurança etc.:
Já na aba “SQL”, é possível ver o DDL (“Data Definition Language”- Linguagem de definição de dados) do objeto selecionado, ou seja, qual script SQL foi usado para criá-lo, permitindo melhor entendimento da estrutura do banco. Caso esteja apenas com o servidor selecionado na barra lateral esquerda, terá a seguinte visão dessa aba:
Para conseguir observar um script, deve selecionar algum objeto que possua, como por exemplo um database:
A próxima aba é a “Statistics” (“Estatísticas”), que também varia de acordo com o objeto selecionado no momento e traz dados estatísticos desse objeto, como tamanho, informações sobre leitura e escrita de linhas, números e informações sobre usuários e processos quando aplicável (com um servidor selecionado, por exemplo) e outros dados:
A seguir temos a aba “Dependencies” (“Dependências”) com dados de uma tabela selecionada, que mostra as dependências que ela possui, no caso, sendo parte dependente de um schema, o public:
Por fim, temos como última aba a “Processes” (“Processos”), que registra processos acontecendo ou finalizados, sejam eles com sucesso ou falha. No exemplo, temos o registro de três processos: dois de importação de dados para uma tabela e um de backup, sendo o status do de backup em andamento, um de importação com sucesso e outro com falha:
Ferramentas úteis
Gerador de DER
Temos a possibilidade de gerar facilmente um “Diagrama Entidade Relacionamento”, que ajuda muito no entendimento visual do banco de dados. Para isso, basta clicar com o botão direito em alguma base de dados e selecionar “ERD For Database”, conforme imagem abaixo:
Import/Export Data
Temos aqui um truque muito útil no pgAdmin: importação e exportação de dados, uma mãozinha amiga quando você precisa movimentar dados de um lugar para outro. Para usar, basta clicar em ‘Tools’ na barra superior, depois em ‘Import/Export Data’, com a sua tabela de dados selecionada, ou clicar com o botão direito na tabela e depois selecionar a opção correspondente. Você então verá a seguinte tela:
Aqui podemos escolher por importar ou exportar na primeira linha, depois informar o local do arquivo (onde desejamos extrair/inserir dados) e, por fim, a codificação dos dados, se necessário. Também há uma segunda e terceira aba (“Options” e “Columns”) para informar mais especificações dos seus dados, como existência de cabeçalhos, colunas para importar etc. Depois de configurada a sua importação/exportação, basta clicar em “OK”. O processo será iniciado e você receberá uma notificação pop-up no canto da tela com essa informação, como também receberá a notificação da sua finalização, sendo bem-sucedida ou não. Na imagem a seguir, vemos exemplos das duas notificações para o processo de importação de dados: de início do processo e de finalização com o sucesso dele.
Além das notificações, também podemos acompanhar esses processos pela aba “Processes”, como mencionado.
Backup
Também é possível gerar um arquivo de backup da sua base de dados ou tabela, de maneira bem simples. Basta selecionar o objeto do qual deseja criar o backup, clicar com o botão direito e selecionar “Backup”, ou então ir pelo caminho do botão de “Tools”, da barra superior. A seguinte tela será exibida:
Você pode criar um backup muito rapidamente como também pode explorar as diversas opções disponibilizadas, que vão desde backups simples de banco de dados até backups personalizados, permitindo que você escolha quais elementos do banco de dados deseja incluir, como tabelas, esquemas e funções. Além disso, você pode configurar opções avançadas de compressão e criptografia para otimizar a segurança e o tamanho do arquivo de backup.
Assim como os demais processos que vimos, notificações pop-up também são exibidas quando realizamos backups, e o arquivo final possui extensão “.sql”.
Conexão com um servidor remoto
Como baixamos apenas a ferramenta cliente e não a instalação completa incluindo o servidor, é possível observar que a seção de “Servers” está vazia. Vamos adicionar uma conexão, e para isso o primeiro passo é clicar com o botão direito em “Servers” e selecionar “Register” > “Server”:
Essa é a tela que será exibida, onde é possível dar um nome para identificar seu servidor, no caso de várias conexões:
Além disso, mais algumas informações são necessárias para realizar a conexão, como endereço IP e senha. A porta e o usuário já vêm preenchidos, pois costumam ser padrão, mas é possível alterar se for necessário:
Após adicionado o servidor, a conexão com ele deverá aparecer da seguinte forma:
Exemplos práticos (pgbench e Pagila)
Aqui vamos olhar alguns exemplos práticos utilizando pgbench (ferramenta de benchmarking do PostgreSQL) e Pagila (conjunto de dados de exemplo para PostgreSQL).
Objetos
Esta é uma árvore de objetos do banco de dados, contendo diversos tipos de objetos, como functions, sequences e tabelas:
Existem ainda mais objetos do que consta na imagem, sendo possível explorá-los ao clicar nos tipos de objetos e expandi-los.
Dashboard
Segue um exemplo de como ficam os registros na dashboard com um teste rodado pelo pgbench, simulando 10 clientes fazendo consultas simultaneamente com duas threads de trabalho por 60 segundos:
Conclusão
O pgAdmin 4 é uma ferramenta bastante completa, com opções que vão ajudar tanto um desenvolvedor quanto um administrador. Sua interface é relativamente intuitiva e com uma baixa curva de aprendizado. É muito útil para verificar objetos, realizar consultas etc. No entanto, as capacidades de administração, como backup, agendamento de tarefas etc., devem ser utilizadas com cautela, principalmente em ambientes críticos. Para tarefas pesadas, é mais seguro utilizar a ferramenta nativa do PostgreSQL em modo texto: o psql.