{
  "schemaVersion": "1.0",
  "path": "/guias/vps/instalar-postgresql-vps-ubuntu",
  "url": "https://streethosting.com.br/guias/vps/instalar-postgresql-vps-ubuntu",
  "markdownUrl": "https://streethosting.com.br/guias/vps/instalar-postgresql-vps-ubuntu.md",
  "jsonUrl": "https://streethosting.com.br/guias/vps/instalar-postgresql-vps-ubuntu.json",
  "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.",
  "category": "vps",
  "topics": [
    "linux",
    "banco-de-dados"
  ],
  "difficulty": "intermediario",
  "datePublished": "2026-06-18",
  "dateModified": "2026-06-18",
  "readingMinutes": 3,
  "h1": "Instalar PostgreSQL na VPS Ubuntu: guia para produção",
  "excerpt": "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.",
  "author": "Equipe StreetHosting",
  "wordCount": 526,
  "categoryLabel": "VPS",
  "topicLabels": [
    "Administração Linux",
    "Bancos de dados"
  ],
  "primaryKeyword": "instalar postgresql vps ubuntu",
  "secondaryKeywords": [
    "postgresql ubuntu server configurar",
    "postgres vps linux produção",
    "postgresql criar banco usuario ubuntu"
  ],
  "toc": [
    {
      "id": "instalar",
      "label": "Instalar o PostgreSQL"
    },
    {
      "id": "criar-usuario",
      "label": "Criar usuário e banco"
    },
    {
      "id": "autenticacao",
      "label": "Configurar autenticação"
    },
    {
      "id": "conectar-app",
      "label": "Conectar com a aplicação"
    },
    {
      "id": "seguranca",
      "label": "Segurança e acesso remoto"
    },
    {
      "id": "backup",
      "label": "Backup do banco"
    }
  ],
  "faqs": [
    {
      "question": "PostgreSQL ou MySQL para minha aplicação?",
      "answer": "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."
    },
    {
      "question": "Como conectar ao PostgreSQL remotamente?",
      "answer": "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."
    },
    {
      "question": "Qual porta o PostgreSQL usa?",
      "answer": "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."
    },
    {
      "question": "Como fazer backup do PostgreSQL?",
      "answer": "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."
    }
  ],
  "howToSteps": [],
  "relatedProducts": [
    "https://streethosting.com.br/vps",
    "https://streethosting.com.br/vps/ryzen"
  ],
  "relatedGuides": [
    "https://streethosting.com.br/guias/vps/instalar-mariadb-mysql-vps-ubuntu",
    "https://streethosting.com.br/guias/vps/firewall-ufw-vps-ubuntu",
    "https://streethosting.com.br/guias/vps/hospedar-api-nodejs-vps-brasil",
    "https://streethosting.com.br/guias/vps/automatizar-backup-vps-restic-cron"
  ],
  "content": {
    "format": "markdown",
    "body": "> **Resposta rápida**\n>\n> 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.\n\n## Instalar o PostgreSQL\n\n1. Atualize os pacotes: `sudo apt update`\n2. Instale o PostgreSQL: `sudo apt install postgresql postgresql-contrib -y`\n3. Confirme que o serviço está rodando: `sudo systemctl status postgresql`\n4. Verifique a versão: `psql --version`\n\n> **Dica**\n>\n> 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.\n\n## Criar usuário e banco\n\nAcesse o PostgreSQL pelo usuário postgres do sistema:\n\n`sudo -u postgres psql`\n\nDentro do psql, crie um usuário dedicado para sua aplicação:\n\n```\nCREATE USER meu_usuario WITH PASSWORD 'senha_forte';\nCREATE DATABASE meu_banco OWNER meu_usuario;\nGRANT ALL PRIVILEGES ON DATABASE meu_banco TO meu_usuario;\n\\q\n```\n\n> **Atenção**\n>\n> 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.\n\n## Configurar autenticação\n\nO arquivo **pg_hba.conf** controla quem pode conectar ao PostgreSQL. Ele fica geralmente em `/etc/postgresql/[versão]/main/pg_hba.conf`.\n\nPara permitir que a aplicação local conecte com senha:\n\n```\nlocal   meu_banco   meu_usuario   md5\n```\n\nApós editar o arquivo, recarregue o PostgreSQL:\n\n`sudo systemctl reload postgresql`\n\n## Conectar com a aplicação\n\nA string de conexão padrão do PostgreSQL:\n\n`postgresql://meu_usuario:senha@localhost:5432/meu_banco`\n\n- **Node.js**: biblioteca `pg` (node-postgres) ou ORM Prisma\n- **Python**: `psycopg2` ou SQLAlchemy\n- **PHP**: PDO com driver pgsql\n\nPara 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).\n\n## Segurança e acesso remoto\n\nPara acesso remoto da aplicação a partir de outro servidor, edite o **postgresql.conf**:\n\n`listen_addresses = 'localhost,IP_DO_APP_SERVER'`\n\nE no pg_hba.conf adicione a regra com o IP específico do servidor de aplicação:\n\n`host meu_banco meu_usuario 10.0.0.5/32 md5`\n\nLibere a porta 5432 no firewall apenas para o IP específico:\n\n`sudo ufw allow from 10.0.0.5 to any port 5432`\n\nPara configuração completa do firewall, veja o guia de [UFW na VPS Ubuntu](https://streethosting.com.br/guias/vps/firewall-ufw-vps-ubuntu).\n\n## Backup do banco\n\nPara fazer backup de um banco PostgreSQL:\n\n`sudo -u postgres pg_dump meu_banco > backup_$(date +%Y%m%d).sql`\n\nPara restaurar:\n\n`sudo -u postgres psql meu_banco < backup_20260618.sql`\n\nConfigure 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."
  }
}
