---
title: "Como instalar PostgreSQL na VPS Ubuntu"
description: "Instale e configure o PostgreSQL na VPS Ubuntu: crie banco de dados, usuário, ajuste autenticação, conecte com aplicação e proteja com firewall. Guia para produção."
url: "https://streethosting.com.br/guias/vps/instalar-postgresql-vps-ubuntu"
category: "vps"
slug: "instalar-postgresql-vps-ubuntu"
datePublished: "2026-06-18"
dateModified: "2026-06-18"
author: "Equipe StreetHosting"
difficulty: "intermediario"
language: "pt-BR"
keywords:
  - "instalar postgresql vps ubuntu"
  - "postgresql ubuntu server configurar"
  - "postgres vps linux produção"
  - "postgresql criar banco usuario ubuntu"
---

# 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.

> **Resposta rápida**
>
> Instale o PostgreSQL com `sudo apt install postgresql postgresql-contrib`, crie usuário e banco com `createuser` e `createdb` via *psql*, configure autenticação no *pg_hba.conf* e nunca abra a porta 5432 para a internet sem restringir por IP.

## Instalar o PostgreSQL

1. Atualize os pacotes: `sudo apt update`
2. Instale o PostgreSQL: `sudo apt install postgresql postgresql-contrib -y`
3. Confirme que o serviço está rodando: `sudo systemctl status postgresql`
4. Verifique a versão: `psql --version`

> **Dica**
>
> 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
```

> **Atenção**
>
> 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**: `psycopg2` ou 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](https://streethosting.com.br/guias/vps/hospedar-api-nodejs-vps-brasil).

## 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](https://streethosting.com.br/guias/vps/firewall-ufw-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](https://streethosting.com.br/guias/vps/automatizar-backup-vps-restic-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.

## Guias relacionados

- [Como instalar MariaDB ou MySQL numa VPS Ubuntu](https://streethosting.com.br/guias/vps/instalar-mariadb-mysql-vps-ubuntu.md)
- [Firewall UFW em VPS Ubuntu: regras seguras sem travar o servidor](https://streethosting.com.br/guias/vps/firewall-ufw-vps-ubuntu.md)
- [Como hospedar API Node.js em VPS no Brasil](https://streethosting.com.br/guias/vps/hospedar-api-nodejs-vps-brasil.md)
- [Como automatizar backup da VPS com restic e cron](https://streethosting.com.br/guias/vps/automatizar-backup-vps-restic-cron.md)

## Produtos citados

- https://streethosting.com.br/vps
- https://streethosting.com.br/vps/ryzen

## Dados estruturados

```json
[
  {
    "@context": "https://schema.org",
    "@type": [
      "Article",
      "TechArticle"
    ],
    "headline": "Instalar PostgreSQL na VPS Ubuntu: guia para produção",
    "name": "Como instalar PostgreSQL na VPS Ubuntu",
    "abstract": "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.",
    "description": "Instale e configure o PostgreSQL na VPS Ubuntu: crie banco de dados, usuário, ajuste autenticação, conecte com aplicação e proteja com firewall. Guia para produção.",
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18",
    "author": {
      "@type": "Organization",
      "name": "Equipe StreetHosting"
    },
    "publisher": {
      "@type": "Organization",
      "name": "StreetHosting",
      "url": "https://streethosting.com.br"
    },
    "inLanguage": "pt-BR",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://streethosting.com.br/guias/vps/instalar-postgresql-vps-ubuntu"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "PostgreSQL ou MySQL para minha aplicação?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "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."
        }
      },
      {
        "@type": "Question",
        "name": "Como conectar ao PostgreSQL remotamente?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "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."
        }
      },
      {
        "@type": "Question",
        "name": "Qual porta o PostgreSQL usa?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "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."
        }
      },
      {
        "@type": "Question",
        "name": "Como fazer backup do PostgreSQL?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "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."
        }
      }
    ]
  }
]
```
