sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL komprimerade arkivloggar i Windows

Många har bloggat och erbjudit skarpt hur man komprimerar arkivloggar i PostgreSQL, jag vill dela en av en kort version från min sida som är på Windows.

Om arkivlagring är ett problem kan du välja komprimerad arkivloggningsfunktion i PostgreSQL.

"archive_command(string)" i $PGDATA/postgresql.conf , är som ett skalkommando för att utföra det som skickas i strängsektionen för att kopiera den färdiga källfilen (WAL-filsegment i $PGDATA/pg_xlog ) till destination (ARKIVPLATS ). "sträng" kan vara något som liknar skalskriptet (batch i Windows) självt, OS-komprimeringsverktyg och ett specialverktyg pg_compresslog. I Windows kommer cmd.exe att köra kommandot som skickas i archive_command “string”.

Eftersom vi ansöker på Windows-plattformen är förhandsbegäran:

  1. Arkivkatalogen bör ha full postgres-användaråtkomst. ("C:Program FilesPostgreSQL9.2archives" i mitt fall)
  2. Fönsterversionens GZIP-verktyg. Även om det finns många bra komprimeringsverktyg för Windows-varianter, valde jag gzip eftersom det stöds både på Linux och Windows.
  3. Gzip.exe bör ha åtkomst till Postgres User och även i PATH. ("C:Program FilesGnuWin32bin" i mitt fall).

Förutsatt att alla förutsättningar är på plats och nästa steg bör vara att redigera filen $PGDATA/postgresql.conf och ändra de arkiveringsrelaterade parametrarna och starta om klustret:

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)

Enligt PG-dokumentationen har ändringar gjorts och startat om klustret, förutseende att mina arkiv härifrån kommer att komprimeras en. Låt oss titta på loggarna:

2013-07-26 16:07:22 IST LOG:arkivkommandot misslyckades med exitkod 1
2013-07-26 16:07:22 IST DETALJ:Det misslyckade arkivkommandot var:"""C :Program FilesGnuWin32bingzip.exe" -1 <"pg_xlog
  1. Microsoft tillkännager SQL Server 2012 R2 och SQL Server 2012 R3!

  2. Hur man väljer den senaste uppsättningen daterade poster från en mysql-tabell

  3. Lägg till alternerande radfärg till rapporten för SQL Server Reporting Services

  4. Hur man släpper en främmande nyckel i SQLite