यदि संग्रह संग्रहण चिंता का विषय है, तो आप PostgreSQL में संपीड़ित संग्रह लॉगिंग सुविधा चुन सकते हैं।
$PGDATA/postgresql.conf में “archive_command(string)” , पूर्ण स्रोत फ़ाइल ($PGDATA/pg_xlog में WAL फ़ाइल खंड) की प्रतिलिपि बनाने के लिए स्ट्रिंग अनुभाग में जो पारित किया गया है उसे निष्पादित करने के लिए एक शेल कमांड की तरह है ) गंतव्य के लिए (स्थान संग्रह करें ) "स्ट्रिंग" कुछ भी हो सकता है जैसे शेल स्क्रिप्ट (विंडोज़ में बैच), ओएस कम्प्रेशन यूटिलिट्स, और एक विशेष टूल pg_compresslog। विंडोज़ में, cmd.exe आर्काइव_कमांड "स्ट्रिंग" में पारित कमांड को निष्पादित करेगा।
चूंकि हम विंडोज प्लेटफॉर्म पर आवेदन कर रहे हैं, इसलिए पूर्व-आवश्यकताएं हैं:
- संग्रह निर्देशिका में पूर्ण पोस्टग्रेज उपयोगकर्ता पहुंच होनी चाहिए। ("C:Program FilesPostgreSQL9.2archives" मेरे मामले में)
- विंडो संस्करण GZIP उपयोगिता। हालाँकि कई अच्छी विंडोज़ वैरिएंट कम्प्रेशन यूटिलिटीज हैं, मैंने gzip को चुना क्योंकि यह Linux और Windows दोनों पर समर्थित है।
- Gzip.exe के पास Postgres User और PATH में भी पहुंच होनी चाहिए। ("सी:प्रोग्राम फाइल्सGnuWin32bin" मेरे मामले में)।
मान लें कि सभी पूर्वापेक्षाएँ मौजूद हैं और अगला चरण $PGDATA/postgresql.conf फ़ाइल को संपादित करना और संग्रह से संबंधित मापदंडों को बदलना और क्लस्टर को पुनरारंभ करना होना चाहिए:
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)
पीजी दस्तावेज़ीकरण के अनुसार, परिवर्तन किए गए हैं और क्लस्टर को फिर से शुरू किया गया है, यह अनुमान लगाते हुए कि मेरे अभिलेखागार एक को संकुचित कर देंगे। आइए लॉग देखें:
2013-07-26 16:07:22 IST लॉग:आर्काइव कमांड एग्जिट कोड 1 के साथ विफल रहा
2013-07-26 16:07:22 IST विवरण:विफल आर्काइव कमांड था:"""C :कार्यक्रम फ़ाइलेंGnuWin32bingzip.exe" -1 <"pg_xlog