Backup PostgreSQL com pg_dump: rotina verificável

3 min 1 Databases
Resumir com:
ChatGPT Claude Gemini Perplexity Grok
Compartilhar:
WhatsApp LinkedIn X

Se este conteúdo faz parte do seu projeto

Escolha a VPS pelo uso, não pelo excesso

Para workloads de IA ou banco de dados, o Performance é o ponto de partida equilibrado; escolha o Ultra quando precisar de mais margem de memória.

PlanoRecursosMensalPerfil
Basic4 vCPU · 4 GB RAM · 100 GB NVMeR$ 99Site e projeto pequeno
Performance6 vCPU · 12 GB RAM · 150 GB NVMeR$ 169Produção e múltiplos serviços
Ultra8 vCPU · 20 GB RAM · 200 GB NVMeR$ 269Cargas maiores e mais margem
Prova técnica: no benchmark publicado da VM Performance, medimos 1.855 ev/s em 6 threads, 288 ev/s em 1 thread, 11.858 MiB/s de memória e 338 MB/s de escrita sequencial, com teste direto na VM e sem Cloudflare.
Escolher Performance Falar no WhatsApp

Valores mensais exibidos para referência. A renovação segue o ciclo e o preço vigente informado no checkout antes da contratação.

--- queue_position: 26 title: "Backup PostgreSQL com pg_dump: rotina verificável" slug: backup-postgresql-pg-dump-rotina-verificavel site_key: host-yousecure canonical: https://yousecure.io/blog/backup-postgresql-pg-dump-rotina-verificavel category: databases cluster: backup-banco search_intent: informacional-comercial funnel_stage: meio author: "Host You Secure Team" created_at: "2026-09-09T11:29:43-03:00" planned_scheduled_at: null status: queued-review meta_description: "Aprenda a criar e testar backups PostgreSQL com pg_dump, retenção, logs e restauração em banco separado antes da produção." excerpt: "Um dump que nunca foi restaurado é apenas uma hipótese de backup. Veja como testar o ciclo completo." quick_answer: "Use pg_dump em formato custom, grave o resultado em destino protegido, registre sucesso e restaure periodicamente em um banco isolado com pg_restore." featured_image: images/26-postgresql-backup.png featured_image_alt: "Banco de dados PostgreSQL duplicado em um cofre de backups" tags: [postgresql, pg_dump, backup, restore, banco-de-dados] evidence_type: reproducible_procedure evidence_environment: PostgreSQL com cliente pg_dump/pg_restore e diretório de restauração separado evidence_procedure: "Gerar dump custom, listar conteúdo, restaurar em banco de teste e validar uma consulta conhecida." evidence_observed_result: "A restauração isolada confirma formato, permissões e completude do arquivo." evidence_limitation: "Dumps lógicos não substituem toda estratégia de recuperação física ou PITR em bases muito grandes." information_gain: "O foco é o teste de retorno e a separação do destino, não apenas o comando de exportação." primary_cta: "Ver VPS para bancos" landing: /hosting_vps --- # Backup PostgreSQL com pg_dump: rotina verificável ## Resposta rápida Use `pg_dump` para exportação lógica e `pg_restore` para validar o retorno. O arquivo deve sair do mesmo disco do banco, ter acesso restrito e ser acompanhado por logs. A rotina só é confiável quando uma restauração é executada em ambiente separado e os dados esperados são conferidos. ## Defina o objetivo de recuperação Pergunte quanto de dados pode ser perdido e quanto tempo a recuperação pode levar. Um dump diário pode não atender uma aplicação que precisa de recuperação por minuto. Para bases grandes ou requisitos rigorosos, combine backups físicos, WAL/PITR e testes documentados. ## Gere um dump custom ```bash export PGHOST=127.0.0.1 export PGPORT=5432 export PGUSER=backup_user export PGDATABASE=appdb pg_dump --format=custom --file=/var/backups/postgresql/appdb-$(date +%F).dump ``` Não coloque senha na linha de comando. Use `.pgpass` com permissões `600`, secret manager ou autenticação apropriada. O usuário de backup deve ter somente os privilégios necessários. Confira o arquivo: ```bash pg_restore --list /var/backups/postgresql/appdb-2026-09-09.dump | head ``` ## Envie para um destino separado Copie para storage externo ou outro host com criptografia e retenção. Ter três cópias no mesmo disco não protege contra falha do volume ou exclusão acidental. Verifique tamanho, data e código de saída do processo. ## Restaure em banco isolado ```bash createdb -h 127.0.0.1 -U postgres appdb_restore_test pg_restore -h 127.0.0.1 -U postgres \ --dbname=appdb_restore_test --clean --if-exists \ /var/backups/postgresql/appdb-2026-09-09.dump psql -d appdb_restore_test -c 'select count(*) from tabela_critica;' ``` Use um banco e credenciais de teste. Não restaure sobre produção para “ver se funciona”. Valide tabelas essenciais, sequência, extensões e permissões da aplicação. ## Automatize com responsabilidade Um timer pode criar o dump, calcular checksum, enviar ao destino e falhar se qualquer etapa retornar erro. Adicione lock, rotação e alerta. Simule uma restauração em uma frequência compatível com o risco; a janela deve medir também tempo e consumo de recursos. Durante um backup, monitore espaço e I/O. [Hospedar banco em uma VPS](https://yousecure.io/hosting_vps) exige reservar margem para dados, dumps temporários e logs. ## Checklist - [ ] RPO/RTO definidos. - [ ] Credencial sem senha no comando. - [ ] Destino fora do volume principal. - [ ] Dump listado e checksum registrado. - [ ] Restauração isolada validada. ## FAQ ### `pg_dump` bloqueia o banco? Ele usa um snapshot consistente, mas ainda pode gerar carga e interagir com locks. Teste o impacto e escolha a janela adequada. ### Posso guardar só o último dump? Isso reduz a capacidade de voltar antes de uma corrupção descoberta tarde. Defina retenção conforme o risco e o custo. ## O que registrar por execução Guarde nome da base, início e fim, tamanho, checksum, versão do cliente, destino e código de saída. Não grave a senha nem dados completos do cliente no log. Se o dump falhar por espaço, lock ou permissão, a rotina deve terminar com erro e notificar alguém; um arquivo parcial não pode ser confundido com backup válido. Uma restauração periódica também mede o tempo necessário para recuperar o serviço, informação que o comando de exportação sozinho não fornece.

Comentários (0)

Ainda não há comentários. Seja o primeiro!