Risposte:
Puoi usare pg_dump
così:
$ pg_dump -h db_host -U user_name db_name > dump_file.sql
Pensare innanzitutto di impostare il .pgpass
file che contiene le password da utilizzare se la connessione richiede una password. Questo file dovrebbe avere linee del seguente formato:
hostname:port:database:username:password
E ciascuno dei primi quattro campi può essere un valore letterale, o *, che corrisponde a qualsiasi cosa. Ad esempio: *:*:*:postgres:pg_password
.
Questo .pgpass
file deve risiedere nella home directory ~ / e le autorizzazioni su di esso devono impedire qualsiasi accesso al mondo o al gruppo; realizzare questo con il comando
chmod 0600 ~/.pgpass
.
Esegui pg_dumpall da cron.
Prova AutoPostgreSQLBackup . È un singolo file di script, può essere facilmente configurato in base alle tue esigenze, esegue la pianificazione giornaliera, settimanale e mensile, registri per e-mail, file di registro o stdout, ecc.
Se è un database ragionevolmente piccolo e requisiti così bassi sul backup come solo una volta al giorno, esegui semplicemente pg_dump da cron a dump in un file locale, quindi usa tutto ciò che è necessario per eseguire il backup dei file sul computer per archiviare il dump .
Prova astrails-safe . Sa come eseguire il backup di mysql (mysqldump), postgres (pg_dump) o solo file semplici (tar) con crittografia (gnupg) e caricarli su S3 / Sftp.
pg_dump è una buona soluzione, ma se stai provando a fare il backup di molti dati, forse questo potrebbe aiutare:
http://www.postgresql.org/docs/8.1/static/backup-online.html
che in realtà è una sorta di registrazione "grezza", ma che può essere utile come metodo di backup incrementale ...
Questo è uno script che eseguirà il backup di ogni database singolarmente, così come i GLOBAL PostgreSQL spesso dimenticati ma importanti e le informazioni di accesso dell'utente.
L'importanza di ciò è sfruttare la compressione che pg_dumpall non fornisce e i dati dimenticati che pg_dump ignora.
Ciò richiederà una pgpass o una configurazione simile come descritto qui http://wiki.postgresql.org/wiki/Pgpass
Questo è impostato per OSX ma cambia semplicemente i percorsi del Programma e funzionerà benissimo.
Esegue il backup su / sqlbackups Lo script restituirà la dimensione / directory della directory e presenta punti di interruzione che restituiranno uno stato diverso da zero in caso di errore. L'ho usato in combinazione con pgAgent per eseguire backup giornalieri.
Script redatto, mi dispiace per quello :(
Perché accontentarsi di un backup giornaliero quando si può facilmente avere un ripristino temporizzato con barman ?
Come altri hanno già detto: pg_dumpall.
Inoltre, dai un'occhiata alla spedizione dei log. Quindi è possibile ottenere più backup temporizzati che è possibile riprodurre: http://www.postgresql.org/docs/8.3/static/runtime-config-wal.html
Oppure la sezione relativa ai backup nel manuale: