Both sides previous revision Previous revision Next revision | Previous revision |
pgs_dump [2021/01/22 21:43] – [Aktivna opcija "zaključavanja perioda"] milano | pgs_dump [2022/08/31 15:57] (current) – [Izvoz u tekstualnu datoteku (plain text)] milano |
---|
</code> | </code> |
| |
| 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. |
| |
| ''-x'' isključiće prenos privilegija |
| ''-O'' isključiće prenos vlasnika |
| ''-n'' omogućava navođenje šema koje treba ubaciti u bekap, i ponavlja se onoliko puta koliko šema treba preneti. |
| |
| Primer tipične komande za izradu bekapa namnjenog prenosu "na kanal" bi bio: |
| |
| <code> |
| pg_dump -U postgres -Fc -d b1 -n bcus -n bpub -n btek -O -x -f b1.backup |
| </code> |
===== Izvoz u tekstualnu datoteku (plain text) ===== | ===== Izvoz u tekstualnu datoteku (plain text) ===== |
| |
- navigacija u folder gde se nalazi pg_dump.exe npr: cd Program Files\PostgreSQL\9.6\bin | - 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: | - pokretanje komande za dump sa opcijama dupm-a: |
- **pg_dump -U <postgres> -d <b1> -n <public> -f <mydbPA.sql>** | - ''pg_dump -U <postgres> -d <b1> -n <public> -f <mydbPA.sql>'' |
- znacenje opcija: -U <user>, -d <ime baze>, -n <ime scheme> -f <format i ime fajla za izvoz> | - znacenje opcija: -U <user>, -d <ime baze>, -n <ime scheme> -f <format i ime fajla za izvoz> |
| |
<code> | Ime baze se može navesti i kao ''<nowiki>postgresql://nessa:deus@MOC:5432/b100</nowiki>'', što je posebno značajno kada se radi sa mašine koja nije PG server. |
* ime baze se može navesti i kao <postgresql://nessa:deus@MOC:5432/b100>, sto je posebno značajno kada se radi sa mašine koja nije PG server. | |
| Samo struktura baze se može izvesti komandom ''-s (–schema-only)'' npr. |
| <code>pg_dump -U postgres -s -d b1 -f b1_SCHEMA.sql</code> |
| Samo podaci baze se mogu izvesti komandom ''-a (–data-only)'' npr. <code>pg_dump -U postgres -a –disable-triggers -d b1 -f b1_DATA.sql</code> |
| Opcija ''–disable-triggers'' zahteva da se prosledi superuser ime, u ovom slučaju je to postgres. |
| |
Samo struktura baze se može izvesti komandom -s (–schema-only) npr. **pg_dump -U postgres -s -d b1 -f b1_SCHEMA.sql** | |
Samo podaci baze se mogu izvesti komandom -a (–data-only) npr. **pg_dump -S postgres -a ****–disable-triggers ****-d b1 -f b1_DATA.sql** (opcija –disable-triggers zahteva da se prosledi superuser ime, u ovom slučaju je to postgres) | |
</code> | |
| |
===== Aktivna opcija "zaključavanja perioda" ===== | ===== Aktivna opcija "zaključavanja perioda" ===== |
Kada je aktivirana opcija //Uključiti mogućnost apsolutnog zaključavanja poslovnog perioda// potrebno je preduzeti **dodatne korake** kako bi se bekapovana baza mogla rekonstruisati. | Kada je aktivirana opcija //Uključiti mogućnost apsolutnog zaključavanja poslovnog perioda// potrebno je preduzeti **dodatne korake** kako bi se bekapovana baza mogla rekonstruisati. |
| |
Zaključavanje se izvodi dodavanjem ''CONSTRAINT'' na tabele ''racuni'',''otpremnice'',''ulaz'' i ''nalozi''. Ograničenje se oslanja na funkciju ''bpub.maxdatstocklock()'' koja se kreira dinamički prilikom aktiviranja opcije kroz parametre programa. | Zaključavanje se izvodi dodavanjem ''CONSTRAINT'' na tabele ''racuni'',''otpremnice'',''ulaz'' i ''nalozi''. Ograničenje se oslanja na funkciju ''bpub.maxdatstocklock()'' koja se kreira dinamički prilikom aktiviranja opcije kroz parametre programa (znači, nema je u ''b0'' ili //Dbupdate//). |
| |
Funkcija se oslanja na tabelu ''firme'' (polje ''datStockLock''), koja se nalazi u tekućoj bazi i arhivama. Da bi zaključavanje tekućeg perioda i arhiva bilo razdvojeno u funkciji nije eksplicitno određena šema tabele ''firme'' već se koristi ''search_path'' za to. | Funkcija se oslanja na tabelu ''firme'' (polje ''datStockLock''), koja se nalazi u tekućoj bazi i arhivama. Da bi zaključavanje tekućeg perioda i arhiva bilo razdvojeno u funkciji nije eksplicitno određena šema tabele ''firme'' već se koristi ''search_path'' za to. |