PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Log Arsip Terkompresi PostgreSQL di Windows

Banyak yang telah membuat blog dan menawarkan secara mencolok tentang cara mengompresi log arsip di PostgreSQL, saya ingin membagikan salah satu versi singkat dari saya yang ada di Windows.

Jika penyimpanan arsip menjadi perhatian, maka Anda dapat memilih fitur logging arsip terkompresi di PostgreSQL.

“archive_command(string)” di $PGDATA/postgresql.conf , seperti perintah shell untuk mengeksekusi apa yang diteruskan di bagian string untuk menyalin file sumber yang telah selesai (segmen file WAL di $PGDATA/pg_xlog ) ke tujuan(LOKASI ARSIP ). "string" bisa berupa apa saja seperti skrip shell (batch di Windows) itu sendiri, utilitas kompresi OS, dan alat khusus pg_compresslog. Di Windows, cmd.exe akan menjalankan perintah yang diteruskan di archive_command “string”.

Karena kami mendaftar di platform Windows, prasyaratnya adalah:

  1. Direktori arsip harus memiliki akses pengguna postgres penuh. (“C:Program FilesPostgreSQL9.2archives” dalam kasus saya)
  2. Utilitas GZIP versi jendela. Meskipun ada banyak utilitas kompresi varian windows yang bagus, saya memilih gzip karena didukung baik di Linux &Windows.
  3. Gzip.exe harus memiliki akses ke Pengguna Postgres dan juga di PATH. (“C:Program FilesGnuWin32bin” dalam kasus saya).

Dengan asumsi semua prasyarat sudah ada dan langkah selanjutnya adalah mengedit file $PGDATA/postgresql.conf dan mengubah parameter terkait pengarsipan dan memulai ulang 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)

Sesuai dokumentasi PG, perubahan telah dibuat dan memulai kembali cluster, mengantisipasi dari sini arsip saya akan dikompresi. Mari kita lihat lognya:

2013-07-26 16:07:22 IST LOG:perintah arsip gagal dengan kode keluar 1
26-07-2013 16:07:22 IST DETAIL:Perintah arsip yang gagal adalah:"""C :Program FilesGnuWin32bingzip.exe" -1 <"pg_xlog

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mendeklarasikan struktur Tuple dari sebuah record di PL/pgSQL

  2. DatabaseError:transaksi saat ini dibatalkan, perintah diabaikan hingga akhir blok transaksi?

  3. INSERT a SELECT GROUP BY :lebih banyak kolom target daripada kesalahan ekspresi

  4. persentil dari data histogram

  5. Apakah kueri jenis SELECT satu-satunya jenis yang dapat disarangkan?