As três formas servem de alguma forma para backup.
SQL Dump é o modo mais flexível, porém o arquivo texto pode ficar muito grande na medida em que o banco cresce. Para importação e exportação parcial, considere o comando , o qual permite exportação usando .
File System Level Backup é melhor do ponto de vista de administrador de sistemas, por ser apenas uma cópia de arquivos do sistema. Porém, o processo do banco de dados precisa ser devidamente encerrado para garantir que todas as informações estão devidamente atualizadas. Uma cópia a qualquer momento pode gerar um backup corrompido ou com dados parciais (que estão sendo gravados naquele momento).
Uma forma melhor de fazer backup dos arquivos sem precisar parar o processo é usando o comando . Ele garante que o arquivo copiado está íntegro e atualizado.
Continuous Archiving é a forma mais rígida de backup. Ele permite restaurar o estado do banco em qualquer ponto no tempo. Porém, vai consumir muitos recursos como espaço em disco e tempo de gravação de dados, gerando logs de informações extensos. Para restaurar um determinado estado é necessário ter os logs desde o último backup realizado até aquele ponto.
Técnicas como o "Arquivamento Contínuo" geralmente são usadas de forma mista com backups normais. Enquanto o backup garante a recuperação de dados completa em intervalos de tempo pré-definidos, o Continuous Archiving garante a recuperação em praticamente qualquer momento.
É importante notar que arquivos binários copiados diretamente ou gerados pelo podem ser dependentes da versão do PostgreSQL. Arquivos texto, por outro lado, costumam ser independentes de versão.