# PostgreSQL no seu VPS, gerenciado pelo painel

Você instala o PostgreSQL com uma senha segura gerada na hora e depois cria bancos, usuários e permissões com formulários, sem psql. Para trabalhar com os dados você tem um gerenciador web com grade editável, console SQL e exportação para Excel. E se outro servidor precisar deste banco, ele se conecta por um túnel SSH criptografado: a porta 5432 não é aberta para a internet em momento algum.

URL: https://ardumaker.com/pt/servicios/postgresql/

- Instalação em um clique
- Permissões por banco
- Sem expor a 5432

## É assim no painel

Capturas reais do painel da ArduMaker, não mockups.

![PostgreSQL: PostgreSQL no painel](https://ardumaker.com/screenshots/servicios/postgresql-1.jpg)
**PostgreSQL no painel**. Estado, porta, bancos de dados e usuários do serviço.

![PostgreSQL: Estrutura de uma tabela](https://ardumaker.com/screenshots/servicios/postgresql-2.jpg)
**Estrutura de uma tabela**. Colunas, tipos, nulos e chaves estrangeiras.

## Um banco pronto para usar, também de fora

Pelo Apps você instala um banco PostgreSQL com seu próprio usuário e, se quiser, já aberto à internet com segurança.

- Cria o banco e um usuário que é dono só desse banco: não entra em nenhum outro.
- Acesso externo com TLS obrigatório, por uma porta própria: a 5432 nunca fica exposta.
- Você decide de quais IPs se pode entrar; também pode autorizar um nome de host.
- A string de conexão fica pronta para copiar, e a senha é mostrada só sob demanda.
- Você vê ao vivo de quais IPs estão conectando e os adiciona à lista com um clique.

## Antes de instalar

### Use quando

- Sua aplicação precisa de um banco relacional com transações, relações entre tabelas e consultas SQL completas.
- Você quer conectar da sua máquina, de outro servidor ou de um serviço externo, com TLS e só dos IPs que autorizar.
- Você vai usar um ORM ou um framework que o traz por padrão (Django, Rails, Prisma, n8n).

### Não é o indicado se

- Você só precisa de cache, sessões ou filas: isso é Redis.
- A aplicação foi escrita para MySQL ou MariaDB (WordPress, por exemplo).

### Como testar que ficou funcionando

1. **Copie a string de conexão e conecte**: psql "postgresql://usuario:senha@db-123.arducloud.com:61061/app?sslmode=require" -c "select version();" — deve devolver a versão do PostgreSQL.
2. **Confira que é o seu banco e nada mais**: Dentro do psql rode \conninfo: usuário, banco e conexão criptografada. O usuário do app é dono do seu banco e não entra em nenhum outro.
3. **Escreva e leia algo**: create table teste(id int); insert into teste values (1); select * from teste; drop table teste;

### Dicas

- De fora só entram os IPs autorizados; se não conectar, primeiro confira se o seu IP está na lista.
- Use sempre sslmode=require (ou verify-full): sem TLS a conexão é recusada.
- De um app que roda no mesmo VPS use a conexão local: é mais rápida e não sai para a internet.
- A senha é mostrada sob demanda e só para administradores. Não a guarde no repositório.
- Configure os backups do VPS antes de colocar dados de produção.

## O dia a dia, sem psql

E o psql continua lá, por SSH, quando você precisar.

- **Instalação com senha segura**: Se você não definir a senha do usuário postgres, uma senha aleatória segura é gerada.
- **Status num relance**: Ativo ou não, versão, porta 5432, quantidade de bancos e de usuários.
- **Bancos de dados**: Listar (sem os do sistema), criar escolhendo o proprietário, ver tamanho e data de criação, e remover.
- **Usuários**: Criar com ou sem superusuário, ver se podem criar bancos ou papéis, trocar a senha e remover.
- **Permissões por banco**: Dar e tirar ALL, SELECT, INSERT, UPDATE, DELETE, CREATE, USAGE e mais, por usuário e por banco. Ideal para um usuário de somente leitura.
- **Tabelas e registros**: Listar as tabelas de cada banco e ver os últimos registros (até 1000) sem abrir um cliente SQL.
- **Gerenciador web completo**: Grade editável, console SQL de somente leitura, EXPLAIN e importação e exportação para CSV e Excel, por túnel SSH privado.
- **A 5432 nunca é aberta para a internet**: O motor escuta só em localhost. De outro VPS seu se chega por um túnel SSH criptografado, sem portas públicas. Se precisar entrar de fora, o acesso externo é opcional: usa uma porta própria com TLS obrigatório e só a partir dos IPs que você autorizar, e você o fecha quando quiser.
- **Backups incluídos**: Ele entra no backup do VPS, e você pode montar o seu próprio dump como tarefa agendada pelo painel.
- **Root real se você quiser**: psql, pg_dump, extensões, postgresql.conf: você tem o servidor inteiro por SSH. O painel é um atalho, não uma jaula.

## Um banco pronto para o seu app

1. **Instale o PostgreSQL**: Um clique, com senha segura gerada.
2. **Crie banco e usuário**: Com o nome do seu app e um usuário próprio.
3. **Dê as permissões**: Só as que o app precisa.
4. **Conecte o seu app**: Em localhost:5432 a partir do mesmo VPS, ou por túnel SSH a partir de outro VPS.
5. **Conecte de outro servidor**: Com um túnel SSH entre os seus VPS, o banco aparece no localhost do outro sem abrir uma única porta.

## Como funciona por baixo, e o que levar em conta

O que vale a pena saber antes de começar, sem letras miúdas.

- O PostgreSQL escuta na porta 5432 em localhost do VPS, e essa porta nunca é publicada: é a decisão que evita a maioria dos incidentes com bancos de dados. A única coisa que pode chegar à internet é um acesso externo próprio, em outra porta, com TLS obrigatório e só para os IPs que você autorizar: pelo painel ele é proposto com o seu IP atual e você o fecha quando quiser; pelo MCP fica fechado, a menos que você indique IPs.
- Para que outro VPS o use, monta-se um túnel SSH entre os dois: o banco aparece no localhost do segundo servidor e o tráfego vai criptografado. Não é preciso abrir a 5432 nem colocar o IP numa lista branca.
- O gerenciador web também entra por esse túnel privado, e não por uma conexão direta a partir do navegador.
- Se você não definir a senha do usuário postgres na instalação, uma senha aleatória segura é gerada e mostrada no final. Não fica uma senha padrão circulando por aí.
- As permissões são dadas por usuário e por banco: ALL, SELECT, INSERT, UPDATE, DELETE, CREATE, USAGE e mais. Um usuário de somente leitura para um dashboard são dois cliques.
- Os nomes de usuário aceitam minúsculas, números e sublinhado; os nomes de banco são normalizados para minúsculas, que é como o Postgres vai tratá-los de qualquer jeito.
- Precisa de systemd e de uma base Debian ou Ubuntu. Está verificado em produção no Ubuntu 22.04 e é compatível com 18.04, 20.04, 24.04 e 26.04. No 16.04 não, porque o systemd 229 não sobe num host com cgroup v2.
- O gerenciador web pede um pouco mais: ele usa um túnel sobre sshd_config.d, então precisa de Ubuntu 22.04 ou superior. No 20.04 e anteriores a configuração não é aplicada e ele fica desabilitado.
- O banco entra no backup do VPS. Se você quiser um dump próprio com a sua retenção, ele é montado como tarefa agendada pelo painel.
- Por SSH você tem o servidor inteiro: psql, pg_dump, extensões e postgresql.conf. O painel cobre o dia a dia, não tira o resto de você.
- Root real por SSH: o painel é um atalho, não uma jaula. Tudo o que ele faz com um botão você também pode fazer à mão.

## Você também pode pedir ao Claude, ChatGPT ou Cursor

Tudo o que você vê no painel o seu agente de IA pode fazer pelo servidor MCP da ArduMaker: com a sua autorização, com o alcance que você der e com cada ação auditada. [Ver o que o MCP faz](https://ardumaker.com/pt/mcp/bases-de-datos/)

## PostgreSQL: perguntas frequentes

### Como conecto no PostgreSQL de outro servidor sem expor o banco?

Com um túnel SSH entre os seus VPS. O banco fica disponível no localhost do outro servidor e o tráfego vai criptografado, sem abrir a 5432 para a internet nem manter listas brancas de IP. O seu app se conecta em localhost:5432 como se o banco fosse local.

### É seguro expor o Postgres à internet?

Expor a 5432 do jeito que está é a forma mais comum de terem um banco comprometido, e aqui isso nunca é feito: o motor escuta só em localhost. Há dois caminhos para chegar de fora: o túnel SSH entre os seus VPS (a única porta que se abre é a do túnel, que atende um usuário sem shell que só pode fazer port forwarding) e o acesso externo opcional, que publica uma porta própria com TLS obrigatório e só para os IPs que você autorizar. Abri-lo para qualquer IP exige uma confirmação explícita.

### Que senha fica se eu não colocar nenhuma?

Uma senha aleatória segura é gerada e mostrada ao terminar a instalação. Não fica uma senha padrão nem um usuário sem senha.

### Dá para ver e editar os dados sem um cliente SQL?

Dá. Pelo painel você vê as tabelas e os últimos registros, e o gerenciador web te dá uma grade editável, console SQL, EXPLAIN e importação e exportação para CSV e Excel.

### Posso criar um usuário de somente leitura?

Pode, dando só SELECT no banco que você quiser. É o caso típico de um dashboard ou de um relatório que não tem por que poder escrever.

### Posso continuar usando psql e pg_dump?

Pode, você tem root por SSH e o PostgreSQL completo: extensões, postgresql.conf, o que precisar. O painel cobre o dia a dia sem tirar o resto de você.

### Tem backup do banco?

Ele entra no backup do VPS. Se você quiser um dump próprio com a sua retenção e o seu horário, ele é montado como tarefa agendada pelo painel.

### Quais versões do Ubuntu são suportadas?

O PostgreSQL funciona de 18.04 em diante e está verificado em produção no 22.04. O gerenciador web precisa de 22.04 ou superior, porque usa um túnel sobre sshd_config.d que as versões anteriores não aplicam.

### Quanto custa?

Nada além do VPS. Não é um banco gerenciado cobrado por hora: ele roda no seu servidor, com o preço fixo do plano.

## Serviços que costumam andar juntos

Tudo roda no mesmo VPS e é gerenciado pelo mesmo painel.

- [Gerenciador de bancos de dados](https://ardumaker.com/pt/servicios/gestor-bases-de-datos/): Uma grade web para PostgreSQL e MySQL: editar linhas, SQL, EXPLAIN e importar e exportar CSV e Excel por túnel privado.
- [MySQL](https://ardumaker.com/pt/servicios/mysql/): Instale o MySQL e gerencie bancos, usuários por host e permissões sem mexer no console.
- [Backups automáticos](https://ardumaker.com/pt/servicios/backups/): Cópia completa semanal a quente, as últimas 4 guardadas e uma cópia final ao excluir o VPS.

**O seu PostgreSQL, no seu servidor e sem portas abertas** Instale com um clique pelo painel de qualquer VPS. Não é um produto à parte: está no painel de qualquer VPS da ArduMaker, junto com o root real por SSH. [Ver planos](https://ardumaker.com/pt/precios/)
