PostgreSQL - Folyamatos archiválás
A RoolWikiBÓL
2007. szeptember 7., 17:39 változat (szerkesztés) Rozsahegyil (Vita | szerkesztései) ← Előző változtatások |
2007. szeptember 11., 09:30 változat (szerkesztés) (undo) 212.40.118.115 (Vita) Következő változtatások → |
||
9. sor: | 9. sor: | ||
A postgresql.conf fájlban az archive_command változónak kell értéket adni. pl: | A postgresql.conf fájlban az archive_command változónak kell értéket adni. pl: | ||
- | archive_command = ' | + | archive_command = ' |
- | echo %f >> /home/postgres/wal_ahead_log_8.2.3/date | + | echo %f >> /home/postgres/wal_ahead_log_8.2.3/date |
- | && date >> /home/postgres/wal_ahead_log_8.2.3/date | + | && date >> /home/postgres/wal_ahead_log_8.2.3/date |
- | && test ! -f /home/postgres/wal_ahead_log_8.2.3/%f | + | && test ! -f /home/postgres/wal_ahead_log_8.2.3/%f |
- | && echo copy >> /home/postgres/wal_ahead_log_8.2.3/date | + | && echo copy >> /home/postgres/wal_ahead_log_8.2.3/date |
- | && cp %p /home/postgres/wal_ahead_log_8.2.3/%f | + | && cp %p /home/postgres/wal_ahead_log_8.2.3/%f |
- | ' | + | ' |
+ | Elő lehet írni, hogy ha egy megadott időn belül nem készül wal log fájl, akkor készítse el: | ||
+ | |||
+ | archive_timeout = 1h | ||
A wal_ahead_log_8.2.3 mappában összegyűlt fájlokat majd egy másik hoszton működő szerver fogja magához másolni, amikor szüksége van rá. Ezt az scp paranccsal teszi. Mivel a másolás a háttérben történik, be kell állítani, hogy az [[scp ne kérjen jelszót]]. | A wal_ahead_log_8.2.3 mappában összegyűlt fájlokat majd egy másik hoszton működő szerver fogja magához másolni, amikor szüksége van rá. Ezt az scp paranccsal teszi. Mivel a másolás a háttérben történik, be kell állítani, hogy az [[scp ne kérjen jelszót]]. | ||
+ | |||
+ | Újra kell olvastatni a postgresql-el a konfigurációs fájlokat. | ||
+ | |||
+ | /etc/init.d/postgresql8.2.3 reload |
2007. szeptember 11., 09:30 változat
Ez a folyamatos archiválás teszt és dokumentáció a 23.3. Continuous Archiving and Point-In-Time Recovery (PITR) című postgresql dokumentáció alapján készült.
A cél egy másik számítógépre duplikálni az adatbázist, úgy hogy folyamatosan - a lehető leginkább - naprakész legyen. Ha a fő rendszer bármilyen hiba miatt működésképtelenné válik, akkor ez a helyébe léphet. Ebben a mentett adatbázisban nem engedélyezzük a módosítást, de a lekérdezést igen. Így akár tehermentesítheti a fő rendszert pl a több hónapot érintő összesítések lekérdezésekor.
Engedélyezzük a WAL archiválást
A postgresql.conf fájlban az archive_command változónak kell értéket adni. pl:
archive_command = ' echo %f >> /home/postgres/wal_ahead_log_8.2.3/date && date >> /home/postgres/wal_ahead_log_8.2.3/date && test ! -f /home/postgres/wal_ahead_log_8.2.3/%f && echo copy >> /home/postgres/wal_ahead_log_8.2.3/date && cp %p /home/postgres/wal_ahead_log_8.2.3/%f '
Elő lehet írni, hogy ha egy megadott időn belül nem készül wal log fájl, akkor készítse el:
archive_timeout = 1h
A wal_ahead_log_8.2.3 mappában összegyűlt fájlokat majd egy másik hoszton működő szerver fogja magához másolni, amikor szüksége van rá. Ezt az scp paranccsal teszi. Mivel a másolás a háttérben történik, be kell állítani, hogy az scp ne kérjen jelszót.
Újra kell olvastatni a postgresql-el a konfigurációs fájlokat.
/etc/init.d/postgresql8.2.3 reload