Penso che ci sia solo una risposta a quello.
PITR o ripristino del punto nel tempo. È fondamentalmente l'archiviazione dei registri delle transazioni e, per quanto ne so, il modo migliore per fare i backup.
L'ho impostato un paio di volte per 8.1, ma dovrebbe essere lo stesso in 8.3.
Nella postgresql.conf tutto quello che dovete fare è aggiungere questo:
archive_command = 'test ! -f /path/to/your/backups/archive_logs/%f && cp -i %p /path/to/your/backups/archive_logs/%f </dev/null'
Questo comando copia i registri di archivio nella directory specificata, dove si può tranquillamente eseguire il backup con il software di backup del vostro scelta.
Per eseguire un backup completo, è necessario prima dire a PostgreSQL che si sta eseguendo un backup. Viene eseguito tramite il comando psql psql "SELECT pg_start_backup('my_backup');"
Successivamente, copia la directory dei dati con rsync, cpio o qualche altro strumento. Se il database è molto utilizzato, i file cambieranno durante la copia, quindi è importante che lo strumento sia in grado di gestirlo correttamente e non di eseguire il salvataggio.
Al termine della copia, è sufficiente eseguire psql "SELECT pg_stop_backup();"
per dire a PostgreSQL di interromperlo. Ciò che questi comandi fanno è mettere un marcatore nei log di archivio in cui è stato avviato il backup, quindi in un ripristino, sa da dove deve iniziare a leggere da lì.
Questa tecnica può anche essere utilizzata per disporre di un warm standby per la replica, ma non sarà leggibile, solo pronta a subentrare in caso di emergenza. La modalità Hot Standby completa è prevista nella versione 8.4, quindi fino ad allora non credo ci sia un'altra opzione.
Una cosa che è grande se si utilizza PITR, è che è possibile specificare un timestamp a quando si desidera aggiungere i registri di archivio.Quindi può anche salvare il database da incidenti (come la rimozione o la modifica di alcuni dati)
pg_dump non usa istruzioni di inserimento per impostazione predefinita. Utilizzerà il comando COPY per impostazione predefinita. L'opzione della riga di comando di -d o --inserts farà sì che pg_dump inserisca istruzioni di inserimento nell'esportazione. Vuoi dire che la COPIA è troppo lenta? O stai usando l'opzione di comando -d o --inserts? –
non sapevo che avrei potuto disattivare le istruzioni di inserimento, COPY è OK..my male – tropikalista