Hvis arkivlagring er bekymring, så kan du vælge komprimeret arkivlogningsfunktion i PostgreSQL.
"archive_command(string)" i $PGDATA/postgresql.conf , er som en shell-kommando til at udføre det, der sendes i strengsektionen for at kopiere den færdige kildefil (WAL-filsegment i $PGDATA/pg_xlog ) til destination (ARKIVPLADS ). "streng" kan være alt som shell script (batch i Windows) selv, OS komprimeringsværktøjer og et særligt værktøj pg_compresslog. I Windows vil cmd.exe udføre kommandoen, der er sendt i archive_command "streng".
Da vi ansøger på Windows-platformen, er forhåndsanmodninger:
- Arkivbiblioteket skal have fuld postgres-brugeradgang. ("C:Program FilesPostgreSQL9.2archives" i mit tilfælde)
- Window version GZIP-værktøj. Selvom der er mange gode komprimeringsværktøjer til Windows-varianter, valgte jeg gzip, fordi det understøttes både på Linux og Windows.
- Gzip.exe skal have adgang til Postgres User og også i PATH. ("C:Program FilesGnuWin32bin" i mit tilfælde).
Forudsat at alle forudsætninger er på plads, og næste trin bør være at redigere filen $PGDATA/postgresql.conf og ændre de arkiveringsrelaterede parametre og genstarte klyngen:
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)
I henhold til PG-dokumentationen er der foretaget ændringer og genstartet klyngen, i forventning om at mine arkiver herfra vil blive komprimeret en. Lad os se på loggene:
2013-07-26 16:07:22 IST LOG:arkivkommando mislykkedes med udgangskode 1
2013-07-26 16:07:22 IST DETALJER:Den mislykkede arkivkommando var:"""C :Program FilesGnuWin32bingzip.exe" -1 <"pg_xlog