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
Automação com Inteligência Artificial: Inserção de Dados em Banco de Dados
A automação com Inteligência Artificial (IA) tem revolucionado a maneira como as empresas lidam com processos repetitivos e trabalhosos. Uma das aplicações mais promissoras dessa tecnologia é a automação da
Aprenda SQL com Flexibilidade de Escolha de Banco de Dados no Nosso Curso
“Apesar de permitir trabalhar com qualquer banco de dados, o aluno vai poder escolher em qual banco quer trabalhar durante o curso: MySQL ou PostgreSQL.” explica Vinicius Vale, autor do
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






