Postgresql archiválás és adatmentés

Biztonsági mentés és visszaállítás az adatok

Biztonsági mentés és helyreállítás fontos szerepet játszanak a munka minden adatbázis adminisztrátor. Nem a rendszer mentes a merevlemez meghibásodások, hanyagság vagy más felhasználók a potenciális halálos kimenetelű, ami romlása a PostgreSQL adatbázis.

Ebben a részben a két leírt általános módszerekkel adatok archiválására. Egy első kiviteli pg_dump alkalmazás tartalmazza a PostgreSQL csomagot generál egy sor SQL parancsok teljes mentést tárol. A második lehetőség alapja a backup szerver fájlrendszer.

Pg_dump alkalmazás elindításakor a parancssorból, és épít egy sor SQL parancsokat. Ezek a parancsok ebben a sorrendben lehetővé teszi, hogy teljesen újra létrehozni az adatbázist.

A szintaxis a pg_dump alkalmazás:

pg_dump [opciók] data_base

Adatbázisnévre paraméter határozza meg a nevét az adatbázist, amely az előállított SQL parancsokat. A paraméter string ugyanabban a formátumban, mint a többi adatbázis segédprogramok (például, createdb). Ez a leggyakrabban továbbított kulcs - f meghatározni a fájl, amely az előállított parancsot.

Ha az -f nincs megadva, a generált SQL parancsok írása helyett fájlba megjelenik a patak stdout.

Az alábbiakban egy teljes listát a pg_dump alkalmazás segítségével.

Alapértelmezésben pg_dump alkalmazás futtatható bármilyen rendszer felhasználói, de a felhasználó csatlakozik a PostgreSQL, biztosítani kell a jogot mintát az összes tárgyat a archivált adatbázisban. Listing 9.20 egy példa egy felhasználói program pg_dump vezetője booktown tárol. Kulcs C tartalmazza az archive parancs CREATE DATABASE. Ez a parancs nem mindig, mivel bizonyos esetekben az adatbázis létrehozása előzetesen a nem szabványos beállítása.

Listing 9.20. Használata pg_dump alkalmazás

[Jworsley @ booktown -] $ pg_dump -u -C -f booktown.sql booktown

Felhasználó: manager Jelszó:

[Jworsley @ booktown -] $ -1 booktown.sql

-rw-rw-r-- 1 jworsley jworsley 46.542 szeptember 13. 16:42 booktown.sql

Függelék pg_dump támogatja a szabványos paraméterekkel gazda vegyületek (billentyűk -h, -u és -p), amely lehetővé teszi a távoli mentés bármely host, amely lehetővé tette, hogy távolról csatlakozni a tartalmának megfelelően pgjiba.conf (további információért lásd a 8. fejezetet) fájlt.

Listing 9,21 csatlakozik egy távoli szerverről szerverre booktown.commandprompt.com hogy hozzon létre egy archív fájlt gzip formátumú (kulcs -F c) név booktown.sql.tar.gz.

Listing 9.21. Remote Start pg_dump

] $ Pg_dump -u -h booktown.commandprompt.com \

-F a -f booktown.sql.tar.gz booktown

[Jworsley @ cmd -] $ -1 booktown.sql.tar.gz

-rw-rw-r-th1nsp: - 1 jworsley jworsley 45.909 szeptember 13 17:12 booktown.sql.tar.gz

Ha a fájlnak tartalmaznia kell a nagy bináris objektumokat, használjon méret tar (t) vagy gzip (c), mert a szöveg formátum nem ad erre lehetőséget. Más esetekben egyszerű szöveges fájlok elég.

A tar formátum gyakran több mint kétszeres mennyiségű szöveges prototípusok, akkor is, ha azok nem tartalmaznak bináris objektumokat. Az a tény, hogy a tar formátum hierarchikus tartalomjegyzék .dat fájlokat. Ez az index tartalmazza szükséges információ tömörítse tar formátumnak megfelelő pg_restore parancsot; további utasításokat vegye fel túl sok helyet. Mivel tar archívumok fájlokat tömörítés nélkül, azt már látva formátum, amely automatikus tömörítés tar-fájlok gzip formátumú.

PostgreSQL is ott pg_dumpall alkalmazás, amely egyfajta „shell” a pg_dump programot hívást. A fő funkciója a kérelem egyidejű hát az egész klaszter PostgreSQL adatbázisokat a rendszer anélkül, hogy az egyes pg_dump viszont adatbázisok. Syntax pg_dumpaTl parancs kimenete a zászló - help:

A pg_dumpall [c] [-h host] [-p port] [-d]

Pg_dumpall alkalmazás kapja ugyanazt a kapcsolat paramétereit, mint a pg_dump alkalmazás. Az alábbiakban a pg_dumpall kulcsokat.

  • -a. SQL parancs létrehozásához globális objektumok meg kell előznie a parancsot, hogy távolítsa el ezeket a tárgyakat.
  • -h host, - -host = .roaw. Host amelyhez kapcsolat jön létre, hanem a fogadó helyi host vagy host-definiált változó PGHOST környezetben. Ezt alkalmazzák olyan esetekben, amikor az adatbázis biztonsági mentését egy másik szerverre.
  • -p port, --port = nopm. Portot, amelyen a kapcsolat kell a szerver, az alapértelmezett helyett port (általában 5432).
  • -g, --globals-csak. Az archivált csak globális objektumok. Normális esetben ez a mód akkor használatos, ha felüdítő felhasználók és csoportok, valamint a párhuzamos másik számítógépen (archív átkerül a másik számítógéphez, és vissza). Amikor telepíti -e kulcs végrehajtása előtt a létrehozás pg_shadow táblázat automatikusan törli az összes felhasználó számára. Légy óvatos!

Ne végezzen egy parancsot pg_dumpall a legfontosabb -. Ez vezet az a tény, hogy a kulcs kerül átadásra pg_dump minden adatbázis alkalmazás és kimeneti fogja elfoglalni sokkal több helyet, mint gondolná. Ha segítségre pg_dumpall parancs használja --help gombot.

Kérjük, vegye figyelembe: PostgreSQL 7.1.x pg_dumpall script képességek meglehetősen korlátozott, mint a hagyományos forgatókönyv pg_dump. Például az s gomb nem teszi lehetővé, hogy küldjön egy másik felhasználói nevet és jelszót, és -F kulcs nem lehet megadni egy másik formátumot, mint a sima szöveges (text fájlokat hoz létre formájában, függetlenül a formátum). Ebből következik, hogy a -b kapcsolót is, nem vihető át a pg_dumpall programot, mert ez szükséges a méret más, mint a szöveg.

Bár pg_dump alkalmazás tudja átadni a fájl nevét a -f opció, az eredményül kapott fájl nem lesz teljes, hiszen minden globális adatok pg_dumpall

még küldeni a patak stdout. Problémákat megoldani, a kulcs ^ pg_dumpall irányítsa át a kimenetet egy shell segítségével egy fájlt (>).

S hiányában kompenzálja egyszerűen hozzárendelésével kulcsváltozóként PGUSER környezetben. És ha csatlakozik egy olyan rendszer, amely hitelesítést jelszó segítségével, és nem szeretné, hogy átmenjen egy külön jelszót az egyes archivált adatbázis értéket rendelni a változó PGPASSWORD.

Listing 9.22 ábrán egy egyszerű parancs bash átmeneti változó PGUSER környezetben történő hívás esetén az ügyfél PostgreSQL Bár szükség van az ilyen változók ritka, ez egy hasznos technika, amely figyelembe kell venni, hogy egyes különleges esetekben - például ha dolgozik a script pg_dumpall. Listing 9,22 PGUSER változó biztosít egy archív fájl minden adatbázist.

Listing 9.22. Használata pg_dumpall parancs

[Jworsley @ booktown -] $ PGUSER = postgres pg_dumpall> all.sql

Az első rész a parancs listában bemutatott 9,22 rendel átmeneti változó értékét PGUSER postgres. A változó jön létre idején pg_dumpall és megszűnik, ha a program befejeződik.

Általában az alkalmazás kell futtatni pg_dumpall gyökér PostgreSQL. Ez annak a ténynek köszönhető, hogy a pg_dumpall parancs az rendszerkatalógusok PostgreSQL, hiszen amellett, hogy adatbázis-objektumokat archiválja globális objektumok.

Csapat pg_dumpal 1 is elvégezhető távolról, bár ezt meg kell állítani az összes szükséges környezeti változókat. erős eljárás beállításaitól függ a távoli gépen a pg_hba.conf fájlt.

pg_dumpa11 parancs használható olyan helyzetekben, amikor az adatbázis nem különösebben kényelmes biztonsági másolatot külön vagy jelenlétében egy komplex rendszert használnak esek és csoportok. Ha zavarja pg_dumpall a kibocsátási korlátozásokat adott ÁLLAMI (különösen, ha az adatbázis használ nagy objektumok), egyszerűen futtassa a parancsot vsep pg_dumpal1 kulcs -e archiválására felhasználók és csoportok, majd pedig oka pg_dump program minden) adatbázisok amelyeket meg kell archiválni.

Kapcsolódó cikkek