Backup automático de postgres

20

Qual é a melhor maneira de fazer backup automaticamente de um banco de dados Postgres no Linux todos os dias?

    
por Liam 18.08.2009 / 18:24

10 respostas

11

Você pode usar pg_dump da seguinte forma:

$ pg_dump -h db_host -U user_name db_name > dump_file.sql

Por favor, pense primeiro em definir o arquivo .pgpass , que contém senhas a serem usadas se a conexão exigir uma senha . Este arquivo deve ter linhas com o seguinte formato:

hostname:port:database:username:password

E cada um dos quatro primeiros campos pode ser um valor literal, ou *, que corresponde a qualquer coisa. Por exemplo: *:*:*:postgres:pg_password .

Este arquivo .pgpass deve residir no diretório home ~ / e as permissões nele devem proibir qualquer acesso ao mundo ou grupo; conseguir isso pelo comando chmod 0600 ~/.pgpass .

    
por 18.08.2009 / 20:50
12

Execute o pg_dumpall no cron.

    
por 18.08.2009 / 19:15
6

Teste AutoPostgreSQLBackup . É um único arquivo de script, pode ser facilmente configurado para as suas necessidades, faz agendamento diário, semanal e mensal, registros por e-mail, arquivo de log ou stdout, etc.

    
por 18.08.2009 / 22:44
4

Se for um banco de dados razoavelmente pequeno e requisitos tão baixos no backup como apenas uma vez por dia, basta executar o pg_dump do cron para fazer o dump para um arquivo local e usar o que tiver para fazer backup dos arquivos na máquina para arquivar o lixo fora.

    
por 18.08.2009 / 19:14
4
O

pg_rman é uma nova ferramenta, oferecendo backups incrementais, que funciona para o PostgreSQL 8.4 ou mais recente.

    
por 11.01.2010 / 16:57
2

Tente seguro para os astrails . Ele sabe como fazer backup de mysql (mysqldump), postgres (pg_dump) ou apenas arquivos simples (tar) com criptografia (gnupg) e upload para S3 / Sftp.

    
por 23.08.2009 / 16:09
1

pg_dump é uma boa solução, mas se você estiver tentando fazer backup de muitos dados, talvez isso possa ajudar:

link

que, na verdade, é um tipo de registro "bruto", mas que pode ser útil como um método de backup incremental ...

    
por 18.08.2009 / 23:14
1

Este é um script que fará o backup de cada banco de dados individualmente, bem como os GLOBALS do PostgreSQL, que geralmente são esquecidos, mas importantes, e as informações de login do usuário.

A importância disso é aproveitar a compactação que o pg_dumpall não fornece e os dados esquecidos que o pg_dump ignora.

Isso exigirá uma configuração pgpass ou similar, conforme descrito aqui link

Isto é configurado para o OSX, mas simplesmente mude os caminhos do Programa e ele funcionará bem.

Faz o backup para / sqlbackups O script retornará o tamanho / diretório do diretório e terá pontos de interrupção que retornarão um status diferente de zero se falhar. Eu usei isso em combinação com o pgAgent para fazer backups diários.

Script redigido, desculpe por isso: (

    
por 19.04.2011 / 08:32
1

Por que se estabelecer com um backup diário quando você pode facilmente ter recuperação point-in-time com o barman

    
por 16.10.2014 / 18:26
0

Como outros já disseram: pg_dumpall.

Além disso, dê uma olhada no envio de log. Então você pode obter mais backups point-in-time que você pode reproduzir: link

Ou que tal a seção sobre backups no manual:

link

    
por 23.08.2009 / 23:25