v0.10 o pgtui agora é pgtower

A torre de controle da sua frota de Postgres.

O pgtower é uma tela de terminal, toda no teclado, para operar o PostgreSQL: sessões, locks, roles, pg_hba e ajustes em todos os seus servidores, num binário estático que você usa por SSH.

curl -fsSL https://pgtower.dev/install | sh
Dar estrela no GitHub
  • Um binário estático
  • Linux e macOS · amd64 e arm64
  • Sem agente, sem servidor web
  • Licença MIT
  • Interface em inglês
O Dashboard do pgtower: 21 de 200 conexões, 99,98% de cache hit, armazenamento, uptime, PostgreSQL 18.6 e o assistente de conexões avisando de uma sessão idle in transaction.
Dashboard. As conexões contra o max_connections, o cache hit, o armazenamento, a replicação e a consulta mais longa, e um assistente que diz o que corrigir.
A tela Databases (bancos), com shop, embeddings, analytics e postgres, e o dono, o tamanho e as conexões abertas de cada um; o shop tem 155 MB e 10 conexões.
Databases (bancos). Cada banco com o dono, o tamanho e as conexões. Enter abre as tabelas e um navegador de dados só de leitura; apagar um banco pede o nome dele digitado inteiro.
A tela Query (consulta), com um plano de EXPLAIN: nested loop, index scan e bitmap heap scan.
Query (consulta). Escolha o banco, e x mostra o EXPLAIN sem executar. Uma escrita pergunta antes; um comando destrutivo pede um yes digitado.
A tela Locks: uma árvore de bloqueios em que um job de ETL e um update da aplicação esperam atrás de uma sessão idle in transaction.
Locks. A árvore de bloqueios: quem espera por quem, há quanto tempo, e a consulta exata que está parada.
A tela Sessions (sessões): as conexões dos clientes, com usuário, banco, estado, wait event, duração e o texto da consulta.
Sessions (sessões). O pg_stat_activity com ação: c cancela uma consulta, k encerra uma conexão, / acha qualquer coisa.
A tela Roles, com as roles, os atributos LOGIN, SUPERUSER, BYPASSRLS, CREATEDB e CREATEROLE, e os limites de conexão.
Roles. Os atributos num relance, grants com o SQL à vista antes de rodar, e um force-drop que passa a posse dos objetos adiante em vez de perder dados.
As recomendações da tela Tuning (ajustes): shared_buffers, effective_cache_size, work_mem, maintenance_work_mem e max_connections comparados com o recomendado para a máquina.
Tuning (ajustes). As configurações atuais contra as metas para a RAM e as CPUs da máquina, um editor de ALTER SYSTEM e um editor de pg_hba com rollback automático.
A tela Servers (servidores), com prod-db1 (PROD), dev-local (DEV) e staging-eu (STAGING); os dois primeiros respondem em menos de 30 ms, e o staging-eu mostra 'Connection refused' e o que conferir.
Servers (servidores). Todos os clusters numa lista, marcados como dev, staging ou prod. Teste todos, troque com S e, quando um cair, leia o motivo em palavras simples.

Telas reais, capturadas em clusters de demonstração. A interface do pgtower é em inglês.

Ver tudo

A saúde, as sessões, os locks e as roles de todos os servidores, sem malabarismo com cinco janelas de psql e uma wiki de consultas.

Agir com segurança

O caminho seguro é o padrão. O perigoso pede que você digite o que quer fazer.

Nada para preparar

Um binário. Nada para instalar no servidor do banco, nenhuma porta para abrir, nenhum painel para manter no ar.

Vários servidores

Todos os clusters, a uma tecla de distância.

A produção, o staging e o banco do seu notebook na mesma lista. Aperte S, escolha um, e todas as abas vão junto: nada do servidor anterior fica para trás na tela.

  • Teste todos os servidores de uma vez: a latência e a versão, ou o motivo da falha.
  • Erros em palavras simples (refused, no route, pg_hba rejected), com o comando para conferir em seguida.
  • Socket Unix com login peer (l preenche), ~/.pgpass e password_env: nenhuma senha precisa ficar na configuração.
A tela Servers: prod-db1 e dev-local respondem em menos de 30 ms; o staging-eu mostra 'Connection refused' e o que conferir.

Segurança

A produção tem cara de produção.

O pgtower é feito para quem já digitou no terminal errado uma vez. Toda ação destrutiva tem um segundo passo, de propósito.

  • Um selo vermelho PROD nos servidores de produção, sempre à vista.
  • Apagar um banco ou uma role só segue depois que você digita o nome exato.
  • DROP TABLE, DROP DATABASE, TRUNCATE e DELETE/UPDATE sem filtro pedem um yes digitado.
  • O force-drop passa a posse dos objetos adiante antes: os dados ficam.
  • Uma edição do pg_hba.conf ganha backup e volta atrás se for deixar você trancado do lado de fora.
A confirmação 'Drop database', que só continua depois que o nome do banco, 'analytics', é digitado inteiro.

Ajustes

Ajuste com números, não com folclore.

Diga ao pgtower quanta RAM e quantas CPUs a máquina tem, e ele compara o shared_buffers, o work_mem e companhia com metas concretas. Depois, deixa você mudar cada um com ALTER SYSTEM, com o tipo e os limites conferidos.

  • As configurações que pedem restart aparecem marcadas antes de você aplicar.
  • As regras do pg_hba, com os erros de sintaxe destacados, editáveis ali mesmo.
As recomendações de Tuning para uma máquina de 16 GB e 8 CPUs: shared_buffers de 1 GB contra uma meta de 4 GB, e effective_cache_size, work_mem e maintenance_work_mem com os valores recomendados.

Onde se encaixa

Feito para operar, não só para consultar.

Já existem ótimas ferramentas para escrever SQL e acompanhar a atividade. O pgtower cuida da administração em volta delas, em vários servidores.

FerramentaO que éVários servidoresRoles e grantsEditor de pg_hbaRecomendação de ajustesConfirmação digitada
pgtowerTUI de administração, para operar clustersSimSimSimSimSim
psqlO cliente SQL oficial—À mão, em SQL———
pgcliCliente SQL com autocompletar—À mão, em SQL———
pg_activityMonitor de atividade no estilo do top—————
pgcenterCLI de estatísticas e diagnóstico—————

A nossa leitura do que cada projeto documenta; os detalhes estão na documentação de cada um. São boas ferramentas e combinam bem com o pgtower.

Instalar

Rodando em menos de um minuto.

O script escolhe o binário certo para o seu sistema e a sua CPU, confere o SHA-256 e instala. Depois, rode pgtower: a tela Servers abre; aperte a para cadastrar um servidor, ou l para o PostgreSQL desta máquina.

O próprio pgtower oferece as atualizações, com o checksum conferido. Prefere não mandar um script direto para o shell? Todos os binários e o SHA256SUMS estão na página de releases.

curl -fsSL https://pgtower.dev/install | sh
# escolha a plataforma: linux|darwin × amd64|arm64
curl -fsSLO https://github.com/9LEVEL/pgtower/releases/download/v0.12.0/SHA256SUMS
curl -fsSLO https://github.com/9LEVEL/pgtower/releases/download/v0.12.0/pgtower-v0.12.0-linux-amd64
sha256sum --ignore-missing -c SHA256SUMS
install -m 0755 pgtower-v0.12.0-linux-amd64 /usr/local/bin/pgtower
# precisa do Go 1.26+
git clone https://github.com/9LEVEL/pgtower
cd pgtower
make install

FAQ

O que os DBAs perguntam primeiro.

Mais alguma? Abra uma issue: ela é lida.

O pgtower precisa de superuser?

Não. Dashboard, sessões, locks, bancos, consultas e roles funcionam com privilégios comuns: CREATEROLE e CREATEDB para cuidar de roles e bancos, pg_monitor para ver as consultas das outras sessões. Só o editor de ALTER SYSTEM e a parte do pg_hba, na aba Tuning, precisam de superuser.

Funciona por SSH?

Sim. É um binário estático que roda em qualquer terminal, então você o usa dentro da sua sessão SSH de sempre. Nada para instalar no servidor do banco, nenhuma porta web para abrir.

É seguro usar na produção?

Ele foi feito para isso: o selo vermelho PROD, confirmação nas escritas, um yes digitado nos comandos destrutivos, o nome exato para apagar uma role ou um banco, e as edições do pg_hba que trancariam o login de administração voltam atrás sozinhas. Ainda assim, é uma ferramenta de administração com privilégios reais: use uma role só com os direitos de que você precisa.

Quais versões do PostgreSQL ele suporta?

Ele é desenvolvido e testado no PostgreSQL 18 e usa as views padrão do catálogo, então as versões com suporte hoje devem funcionar. Se algo não funcionar, abra uma issue.

Onde ficam os servidores e as senhas?

No ~/.config/pgtower/config.yml, gravado com modo 0600. As senhas ali são opcionais: deixe-as de fora e use o ~/.pgpass, ou aponte um servidor para uma variável de ambiente com password_env.

A interface é em português?

O site, sim; a ferramenta, não: a interface e as mensagens do pgtower são em inglês. As telas desta página são as reais.

O pgtower é grátis?

Sim. Software livre, sob a licença MIT, com binários prontos para Linux e macOS, em amd64 e arm64.

O que aconteceu com o pgtui?

O pgtui agora é o pgtower (v0.10.0): outro projeto já usava o nome. O mesmo código, as mesmas teclas, a mesma configuração. Para trocar, rode o instalador de novo: ele renomeia o binário e deixa pgtui como link simbólico. Na primeira vez, o pgtower move os diretórios de configuração antigos, e as variáveis PGTUI_* continuam valendo, como reserva. Os detalhes, em inglês.

Ponha a sua frota sob uma torre só.

curl -fsSL https://pgtower.dev/install | sh