Se l'archiviazione dell'archivio è un problema, puoi scegliere la funzione di registrazione dell'archivio compresso in PostgreSQL.
"archive_command(string)" in $PGDATA/postgresql.conf , è come un comando di shell per eseguire ciò che è passato nella sezione string per copiare il file sorgente completato (segmento di file WAL in $PGDATA/pg_xlog ) a destinazione(POSIZIONE ARCHIVIO ). "stringa" può essere qualcosa come lo stesso script di shell (batch in Windows), le utility di compressione del sistema operativo e uno strumento speciale pg_compresslog. In Windows, cmd.exe eseguirà il comando passato in archive_command "string".
Dal momento che ci stiamo candidando su piattaforma Windows, i prerequisiti sono:
- La directory dell'archivio dovrebbe avere l'accesso utente postgres completo. ("C:Program FilesPostgreSQL9.2archives" nel mio caso)
- Utility GZIP della versione della finestra. Sebbene ci siano numerose buone utilità di compressione delle varianti di Windows, ho scelto gzip perché è supportato sia su Linux che su Windows.
- Gzip.exe dovrebbe avere accesso a Postgres User e anche in PATH. ("C:ProgrammiGnuWin32bin"nel mio caso).
Supponendo che tutti i prerequisiti siano presenti e il passaggio successivo dovrebbe essere la modifica del file $PGDATA/postgresql.conf e la modifica dei parametri relativi all'archiviazione e il riavvio del cluster:
wal_level=archive
archive_mode=on
archive_command = '"C:\Program Files\GnuWin32\bin\gzip.exe -1 " < "%p" > "C:\Program Files\PostgreSQL\9.2\archives\%f.gz"'
c:Program FilesPostgreSQL9.2bin>pg_ctl.exe -D ..data start (You can also start from services.msc)
Come da documentazione PG, sono state apportate modifiche e riavviato il cluster, anticipando che da qui in poi i miei archivi saranno compressi. Diamo un'occhiata ai log:
26-07-2013 16:07:22 IST LOG:comando di archivio non riuscito con codice di uscita 1
26-07-2013 16:07:22 DETTAGLIO IST:Il comando di archivio non riuscito era:"""C :ProgrammiGnuWin32bingzip.exe" -1 <"pg_xlog