PostgreSQL - Folyamatos archiválás

A RoolWikiBÓL

(Változatok közti eltérés)
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
Személyes eszközök