Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
kb:pg:pgs_dump [2025/03/29 15:44] – removed - external edit (Unknown date) 127.0.0.1 | kb:pg:pgs_dump [2025/03/29 15:44] (current) – ↷ Links adapted because of a move operation milano | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== PG Dump ====== | ||
+ | ===== pg_dump ===== | ||
+ | |||
+ | Za kopiranje PostgreSQL baze podataka najsvrsishodnije je koristiti postojeci pg_dump koji je lociran u folderu kome je instaliran Postgres, i to u folderu Bin. | ||
+ | |||
+ | Primer lokacije na Windows platformi | ||
+ | |||
+ | < | ||
+ | c:\Program Files\PostgreSQL\9.6\bin\pg_dump.exe | ||
+ | </ | ||
+ | |||
+ | ===== Izvoz u kompresovanu datoteku ===== | ||
+ | |||
+ | Preporučeni način izvoza baze podataka sa najviše opcija pri uvozu na drugi server jeste upotreba //custom// formata zapisa (-Fc). | ||
+ | |||
+ | Pri prenosu celih baza podataka, veoma je važno da izlazni fajl bude kompresovan jer se može desiti da zbog veličine bude nepodesan za prenos/ | ||
+ | < | ||
+ | pg_dump -U postgres -Fc -d b1 -f b1.backup | ||
+ | </ | ||
+ | |||
+ | Objašnjenje parametara: | ||
+ | |||
+ | **-U postgres** znači da operaciju izvodim pod korisničkim nalogom // | ||
+ | **-Fc** znači da koristim //custom format// fajla, koji dozvoljava najviše opcija pri raspakivanju ( pg _ restore ) baze. Istovremeno, | ||
+ | **-d b1** je ime baze podataka koju prenosim/ | ||
+ | **-f b1.backup** je ime fajla u koji se podaci pohranjuju. | ||
+ | |||
+ | Ako se dump pravi sa računara na kom nije PGS server sintaksa je sledeća (--verbose može da se izostavi kada nema potrebe da se ispisuje trenutna dump akcija u CMD prozoru): | ||
+ | |||
+ | < | ||
+ | pg_dump --dbname=postgresql:// | ||
+ | </ | ||
+ | |||
+ | Preporuka za izradu kopije za potrebe prenosa na drugi server (npr. kada stavljamo bazu na kanal) jeste da se prilikom //dump-a// izostave podaci o vlasniku, odnosno privilegijama pristupa objektima. | ||
+ | Tako izbegavamo neophodnost postojanja identičnog korisničkog naloga na serveru na kom će se baza raspakivati. | ||
+ | |||
+ | '' | ||
+ | '' | ||
+ | '' | ||
+ | |||
+ | Primer tipične komande za izradu bekapa namnjenog prenosu "na kanal" bi bio: | ||
+ | |||
+ | < | ||
+ | pg_dump -U postgres -Fc -d b1 -n bcus -n bpub -n btek -O -x -f b1.backup | ||
+ | </ | ||
+ | ===== Izvoz u tekstualnu datoteku (plain text) ===== | ||
+ | |||
+ | Ovaj format omogućava proizvoljne aktivnosti na prilagođavanju fajla za naknadni uvoz u običnom uređivaču teksta jer se baza izvozi kao SQL skript. Kako se pri zameni delova teksta izbegla mogućnost oštećenja podataka, toplo se preporučuje odvojiti definicije od podataka u dva zasebna fajla. | ||
+ | |||
+ | Procedura za dampovanje je: | ||
+ | |||
+ | - pokretanje command prompta (cmd.exe) u administratorskom rezimu | ||
+ | - navigacija u folder gde se nalazi pg_dump.exe npr: cd Program Files\PostgreSQL\9.6\bin | ||
+ | - pokretanje komande za dump sa opcijama dupm-a: | ||
+ | - '' | ||
+ | - znacenje opcija: -U < | ||
+ | |||
+ | Ime baze se može navesti i kao ''< | ||
+ | |||
+ | Samo struktura baze se može izvesti komandom '' | ||
+ | < | ||
+ | Samo podaci baze se mogu izvesti komandom '' | ||
+ | Opcija '' | ||
+ | |||
+ | |||
+ | ===== Aktivna opcija " | ||
+ | |||
+ | Kada je aktivirana opcija // | ||
+ | |||
+ | Zaključavanje se izvodi dodavanjem '' | ||
+ | |||
+ | Funkcija se oslanja na tabelu '' | ||
+ | |||
+ | Pošto '' | ||
+ | Da bi se ovo prevazišlo potrebno je: | ||
+ | |||
+ | - Pre bekapovanja promeniti funkciju '' | ||
+ | - U tabeli '' | ||
+ | - Nakon bekapovanja vratiti funkciju na staro kao i vrednost polja '' | ||
+ | - Nakon '' | ||
+ | |||
+ | Ukoliko se sve ovo ne uradi i dalje će biti moguća rekonstrukcija baze iz bekapa ali dodatnim koracima u **[[kb: |