Backups Lógicos rápidos? pg_dump e pg_restore com Paralelismo no PostgreSQL
Quando o volume de dados cresce, backup e restauração com pg_dump/pg_restore podem rapidamente se tornar um gargalo crítico. É aqui que o paralelismo faz toda a diferença: em vez de processar tabelas e índices em sequência, o PostgreSQL permite que essas operações sejam divididas em múltiplos processos simultâneos. O resultado? Redução de horas para minutos em muitos cenários — contanto que você escolha o formato correto e ajuste o número de jobs ao seu ambiente.
O Essencial em 10 Segundos:
- Dump paralelo só funciona com formato directory (-Fd) no pg_dump usando -j N.
- O pg_restore paralelo só funciona com formatos custom (-Fc) e directory (-Fd) usando -j N.
- plain (.sql) e tar (-Ft) não suportam paralelismo.
E Porque paralelizar o pg_dump/pg_restore?
- Menos tempo de janela – Divide o trabalho entre múltiplos processos;
- Melhor uso de CPU/IO – Aproveita CPUs multi-core e storage rápido;
- Restaurações massivas mais previsíveis – Criação de índices e inserção dados processados em várias filas possibilitando maior ganho de tempo;
Como usar na prática
Dump paralelo (requer -Fd):
pg_dump -h HOST -U USER -d DBNAME -Fd -j 8 -f /backups/dbname_dir
Restore paralelo (com -Fc ou -Fd):
pg_restore -h HOST -U USER -d DBNEW -j 8 -Fd /backups/dbname_dir pg_restore -h HOST -U USER -d DBNEW -j 8 -Fc /backups/dbname.dump
Onde o Ganho é Maior
- Em tabelas de tamanho médio;
- Índices sendo criados simultâneamente;
- Quando utilizado em storage rápido (NVMe/SSD/RAID);
- Quando utilizado em rede veloz entre origem e destino.;
Onde o Ganho é Menor
- Apenas uma tabela gigante pois os jobs são divididos por objeto;
- Storage lento ou saturado;
- Servidor de origem já no limite;
Boas Práticas de Desempenho Para o pg_dump
- Use sempre -Fd -j;
- Aplique filtros com –table ou –schema;
- No PG15+, compressão moderada (–compress=3);
Boas Práticas de Desempenho Para o pg_restore
- Ajuste -j ao nº de vCPUs;
- Aumente maintenance_work_mem no destino temporariamente (aumenta a velocidade de criação de índices);
- Ajuste synchronous_commit e max_wal_size temporariamente;
Conclusão
Se o objetivo é reduzir tempo de recuperação use pg_dump -Fd -j N para capturar rapidamente. – Use pg_restore -j N a partir de -Fd ou -Fc. Com o formato certo e o -j bem calibrado, o paralelismo é o caminho mais simples para backups lógicos e restores muito mais rápidos no PostgreSQL.
Quer conhecer mais sobre o PostgreSQL?
Acesse plataforma de cursos da 4Linux e veja nosso treinamento de banco de dados focado em PostgreSQL. Ele aborda diversos temas focado nas melhores práticas desde instalação, backup, replicação e alta disponibilidade.
About author
Você pode gostar também
Soft Skills: As Habilidades Essenciais para o Sucesso na Carreira de TI
Soft Skills: As Habilidades Essenciais para o Sucesso na Carreira de TI Em um mercado de tecnologia em constante evolução, as Soft Skills, ou habilidades interpessoais, se tornaram ferramentas indispensáveis
Organize seus objetos de banco de dados com schemas PostgreSQL no Django
Que tal se você pudesse organizar seus objetos de bancos de dados (suas tabelas, views, functions, procedures etc.) em namespaces de acordo com suas respectivas funções no sistema? Neste artigo
Entenda o risco das injeções de dados e como prevenir em desenvolvimento de software
Neste artigo, vamos entender o motivo pelo qual as injeções de dados (SQL Injections) estão no Top 10 da OWASP e o porquê dessa classe de vulnerabilidades precisar de atenção







