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 revision
Previous revision
Next revisionBoth sides next revision
pgs_restore [2021/01/22 21:38] milanopgs_restore [2021/02/14 12:06] milano
Line 23: Line 23:
  
 <code> <code>
-pg_restore -U balans_admin -C -d postgres b1.backup+pg_restore -U balans_admin -C --disable-triggers -d postgres b1.backup
 </code> </code>
  
Line 30: Line 30:
 **-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.\\ **-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.\\ **-C** znači da se na će se pri raspakivanju napraviti nova baza podataka, sa istim imenom kao što ga je imala izvorna.\\
 +**--disable-triggers** se koristi kada postoje podaci unutar baze koja se restaurira kako bi se izbegle greške u referencijalnim vezama među podacima koji nisu u potpunosti vraćeni. \\
 **-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.\\ **-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. **b1.backup** je ime fajla u kom se nalazi spakovana i kompresovana baza koju raspakujemo.
Line 99: Line 100:
  
 ''-t'' - navodim tabelu čije podatke želim rekonstruisati \\ ''-t'' - navodim tabelu čije podatke želim rekonstruisati \\
-''-a'' - naređujem da želim samo podatke \\ \\+''-a'' - naređujem da želim **samo podatke** \\ \\
  
 Otključavam period: Otključavam period:
Line 107: Line 108:
 Ukoliko je potrebno vratiti zaključavanje u prethodno stanje pre postavke u NULL treba očitati tekuću vrednost. Ukoliko je potrebno vratiti zaključavanje u prethodno stanje pre postavke u NULL treba očitati tekuću vrednost.
  
-Sada smo spremni da preuzmemo i ostale podatke:+Sada smo spremni da preuzmemo i ostale podatke, ali ovaj put dodajemo i ''--disable-triggers'' parametar kako uvozu ne bi zasmetale privremeno nedostajuće relacije:
 <code> <code>
-#> pg_restore -h 192.168.0.5 -p 5432 -U postgres -v -n bcus -n bpub -n btek -O -d b3 -x -a c:\b3_mivela.backup 2>restore3.log+#> pg_restore -h 192.168.0.5 -p 5432 -U postgres -v -n bcus -n bpub -n btek -O -d b3 -x -a --disable-triggers c:\b3_mivela.backup 2>restore3.log
 </code> </code>
  
-Po završetku procesa otvoriti fajl ''restore3.log'' i proveriti ima li grešaka zbog kojih podaci nisu mogli biti učitani.+Po završetku procesa otvoriti fajl ''restore3.log'' i proveriti ima li grešaka zbog kojih podaci nisu mogli biti učitani. \\
 Očekivana je samo jedna greška - tabela ''firme'' neće biti učitana jer su podaci već bili u njoj. Očekivana je samo jedna greška - tabela ''firme'' neće biti učitana jer su podaci već bili u njoj.
  
  • pgs_restore.txt
  • Last modified: 2024/01/31 12:29
  • by milano