pgs_restore

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revisionBoth sides next revision
pgs_restore [2017/09/28 12:19] milanopgs_restore [2017/09/28 16:21] milano
Line 1: Line 1:
 ====== PG Restore ====== ====== PG Restore ======
  
-Za restore PostgreSQL baze podataka najsvrsishodnije je koristiti postojeci psql.exe koji je lociran u folderu kome je instaliran Postgres, i to u folderu Bin, npr c:\Program Files\PostgreSQL\9.6\bin\. Procedura za dampovanje je:+===== pg_restore =====
  
-  pokretanje command prompta (cmd.exe) u administratorskom rezimu +Ovaj alat sadrži brojne opcije prilikom vraćanja baze podataka, i predstavlja prirodnog parnjaka **pg_dump** funkcije. Opcija ima jako mnogo, evo nekoliko osnovnih. 
-  - navigacija u folder gde se nalazi psql.exe npr: cd Program Files\PostgreSQL\9.6\bin +==== Prenos baze podataka na drugi server ==== 
-  - pokretanje komande za restore sa opcijama restore-a:+ 
 +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/manipulaciju. Kompresijom upravlja **pg_dump**, a niže je primer prenosa baze pod nazivom **b1**, sa **extenzijama**, šemama i svim ostalim Pg objektima. Operaciju izvodim pod sistemskim //postgres// nalogom, iako to može biti bilo koji drugi korisnik sa odgovarajućim pravima : 
 +<code> 
 +pg_dump -U postgres -Fc -d b1 -f b1.backup 
 +</code> 
 + 
 +Objašnjenje parametara: 
 + 
 +**-U postgres** znači da operaciju izvodim pod korisničkim nalogom //postgres//.\\ 
 +**-Fc** znači da koristim //custom format// fajla, koji dozvoljava najviše opcija pri raspakivanju (pg_restore) baze. Istovremeno, ovaj format automatski podrazumeva kompresovanje podataka.\\ 
 +**-d b1** je ime baze podataka koju prenosim/bekapujem/čuvam\\ 
 +**-f b1.backup** je ime fajla u koji se podaci pohranjuju. 
 + 
 +Ovako kompresovana baza može se vratiti na drugi server sledećom komandom: 
 + 
 +<code> 
 +pg_restore -U balans_admin -C -d postgres b1.backup 
 +</code> 
 + 
 +Objašnjenje parametara: 
 + 
 +**-U balans_admin** znači da operaciju izvodim, na novom serveru, pod korisničkim nalogom //balans_admin//. Dobro je znati da novi server ne mora imati iste korisničke naloge.\\ 
 +**-C** znači da se na će se pri raspakivanju napraviti nova baza podataka, sa istim imenom kao što ga je imala izvorna.\\ 
 +**-d postgres** je parametar koji pravi najviše zabune, jer izgleda kao da dajemo instrukciju da se baza raspakuje u bazu sa imenom //postgres//. Ustvari, parametar -C sprečava da se ovo desi, pa je ime //postgres// iskorišćeno samo zato što takvo sigurno postoji na novom serveru. Moglo je poslužiti i bilo koje drugo, za koje znamo da postoji. Kako smo zadali parametar -C, pg_restore će automatski napraviti bazu pod imenom **b1**, kako je u izvornom b1.backup fajlu i navedeno.\\ 
 +**b1.backup** je ime fajla u kom se nalazi spakovana i kompresovana baza koju raspakujemo. 
 +===== psql - vraćanje iz "plain-text" formata ===== 
 + 
 +Za restore PostgreSQL baze podataka <del>najsvrsishodnije je koristiti postojeci</del> uz mogućnost izmene izvornog fajla koristi se **psql.exe** koji je lociran u folderu kome je instaliran Postgres, **bin **poddirektorijumu. Ovaj način prenosa podataka pravi velike fajlove, i nije pogodan za prenos celih baza, ali pošto se baza izvozi kao veliki SQL skript, lako ga je modifikovati (promena nazvia šeme, itd.). 
 +==== Procedura ==== 
 + 
 +  Pokretanje command prompta (cmd.exe) u administratorskom rezimu 
 +  - Navigacija u folder gde se nalazi psql.exe npr: cd Program Files\PostgreSQL\9.6\bin 
 +  - Pokretanje komande za restore sa opcijama restore-a:
       - **psql -U <postgres> -d <PA4> -o <outputPA.txt> -f <mydbPA.sql>**       - **psql -U <postgres> -d <PA4> -o <outputPA.txt> -f <mydbPA.sql>**
       - znacenje opcija: -U <user>, -d <ime baze>, -o <ime log fajla za upis rezultata restore-a> -f <format i ime fajla za uvoz>       - znacenje opcija: -U <user>, -d <ime baze>, -o <ime log fajla za upis rezultata restore-a> -f <format i ime fajla za uvoz>
  • pgs_restore.txt
  • Last modified: 2024/01/31 12:29
  • by milano