Instalar PostgreSQL na VPS Ubuntu: guia para produção
PostgreSQL é o banco de dados relacional mais completo do mundo open source. Veja como instalar na VPS Ubuntu, criar usuário e banco dedicados para sua aplicação, configurar a autenticação e proteger o acesso.
Instalar o PostgreSQL
- Atualize os pacotes:
sudo apt update - Instale o PostgreSQL:
sudo apt install postgresql postgresql-contrib -y - Confirme que o serviço está rodando:
sudo systemctl status postgresql - Verifique a versão:
psql --version
Para a versão mais recente do PostgreSQL, adicione o repositório oficial do PGDG (postgresql.org/download/linux/ubuntu). O apt padrão do Ubuntu oferece uma versão estável mas não sempre a mais atual.
Criar usuário e banco
Acesse o PostgreSQL pelo usuário postgres do sistema:
sudo -u postgres psql
Dentro do psql, crie um usuário dedicado para sua aplicação:
CREATE USER meu_usuario WITH PASSWORD 'senha_forte';
CREATE DATABASE meu_banco OWNER meu_usuario;
GRANT ALL PRIVILEGES ON DATABASE meu_banco TO meu_usuario;
\q
Nunca use o usuário postgres diretamente em aplicações. Crie um usuário dedicado com acesso restrito apenas ao banco que a aplicação precisa.
Configurar autenticação
O arquivo pg_hba.conf controla quem pode conectar ao PostgreSQL. Ele fica geralmente em /etc/postgresql/[versão]/main/pg_hba.conf.
Para permitir que a aplicação local conecte com senha:
local meu_banco meu_usuario md5
Após editar o arquivo, recarregue o PostgreSQL:
sudo systemctl reload postgresql
Conectar com a aplicação
A string de conexão padrão do PostgreSQL:
postgresql://meu_usuario:senha@localhost:5432/meu_banco
- Node.js: biblioteca
pg(node-postgres) ou ORM Prisma - Python:
psycopg2ou SQLAlchemy - PHP: PDO com driver pgsql
Para hospedar uma API Node.js com PostgreSQL, veja o guia de hospedagem de API Node.js na VPS.
Segurança e acesso remoto
Para acesso remoto da aplicação a partir de outro servidor, edite o postgresql.conf:
listen_addresses = 'localhost,IP_DO_APP_SERVER'
E no pg_hba.conf adicione a regra com o IP específico do servidor de aplicação:
host meu_banco meu_usuario 10.0.0.5/32 md5
Libere a porta 5432 no firewall apenas para o IP específico:
sudo ufw allow from 10.0.0.5 to any port 5432
Para configuração completa do firewall, veja o guia de UFW na VPS Ubuntu.
Backup do banco
Para fazer backup de um banco PostgreSQL:
sudo -u postgres pg_dump meu_banco > backup_$(date +%Y%m%d).sql
Para restaurar:
sudo -u postgres psql meu_banco < backup_20260618.sql
Configure um cron para backups automáticos diários. Veja o guia de backup automático com Restic e cron para uma solução de backup completa que cobre banco de dados e arquivos.
Perguntas frequentes
- PostgreSQL ou MySQL para minha aplicação?
- PostgreSQL é mais robusto para dados complexos, suporta JSON nativo, tipos avançados e é o banco preferido para aplicações modernas com Next.js, Django e Rails. MySQL/MariaDB é mais simples e amplamente suportado por plataformas mais antigas.
- Como conectar ao PostgreSQL remotamente?
- Por padrão o PostgreSQL só aceita conexões locais. Para acesso remoto, edite o pg_hba.conf para adicionar o IP permitido e o postgresql.conf para alterar o listen_addresses. Nunca abra o PostgreSQL para 0.0.0.0 sem autenticação.
- Qual porta o PostgreSQL usa?
- A porta padrão do PostgreSQL é a 5432. Se precisar de acesso remoto, libere apenas essa porta no firewall para os IPs específicos que precisam conectar.
- Como fazer backup do PostgreSQL?
- Use o pg_dump para backup de um banco específico: pg_dump -U usuario nome_do_banco > backup.sql. Para restaurar: psql -U usuario nome_do_banco < backup.sql. Automatize com cron para backups periódicos.
Próximo passo
Ver planos VPS
VPS root no Brasil com NVMe e AntiDDoS.
Guias relacionados
Como instalar MariaDB ou MySQL numa VPS Ubuntu
Quase toda aplicação precisa de um banco. Veja como instalar MariaDB ou MySQL, rodar o assistente de segurança, criar banco e usuário e liberar acesso sem expor o servidor.
Firewall UFW em VPS Ubuntu: regras seguras sem travar o servidor
UFW facilita a configuração de firewall no Ubuntu, mas a ordem das regras continua sendo decisiva. Este guia mostra como ativar sem perder acesso SSH, como liberar apenas o necessário e como revisar regras quando Docker e serviços web entram em cena.
Como hospedar API Node.js em VPS no Brasil
API em produção pede process manager, proxy reverso, HTTPS e monitoramento. VPS no Brasil reduz latência para apps e integrações voltadas ao mercado local.