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
Domine o Wildfly 8: Curso com foco em Administração e DevOps
Administração com Cluster de Alta Performance em ambiente DevOps. Novidades do Curso além dos recursos novos do Wildfly No curso existe uma máquina DEVOPS (com ferramentas dev, como GIT, Maven)
Entendendo CHAR, VARCHAR e TEXT no PostgreSQL
Ao modelar tabelas em PostgreSQL, uma das decisões mais comuns (e subestimadas) é a escolha do tipo de dado para armazenar texto. Embora CHAR, VARCHAR e TEXT sirvam ao mesmo
Guia Prático: Instalação e Configuração do pgAdmin4 via Docker
O pgAdmin4 é a plataforma de administração e desenvolvimento open source mais popular para PostgreSQL. Neste post, vamos instalar e configurar esta ferramenta via Docker. DOCKER






