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
Acesso a dados SQL Server através do PostgreSQL: um guia prático
Tenho um PostgreSQL e preciso acessar dados que estão no SQL Server! E agora?! Não! Não precisa entrar em pânico! Existe uma solução para isso. Digamos que em um determinado
Entenda a interação entre MySQL e o cache de sistema de arquivos do Linux
Neste post veremos a interação entre o MySQL e o cache de sistema de arquivos do Linux, principalmente a respeito da configuração do buffer pool do InnoDB. Utilizamos o MySQL
Guia passo a passo para instalar o MySQL em diferentes sistemas operacionais
Ao tentar instalar o MySQL – o banco de dados open-source mais popular do mundo – você pode ser surpreendido no final do processo ao obter o MariaDB. Este fork







