Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Početak rada sa Postgre - om, pa mi treba mala pomoć?

[es] :: PostgreSQL :: Početak rada sa Postgre - om, pa mi treba mala pomoć?

[ Pregleda: 9649 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.dialup.neobee.net.



Profil

icon Početak rada sa Postgre - om, pa mi treba mala pomoć?16.09.2006. u 15:28 - pre 167 meseci
Instalirao sam PostgreSQL 8.1.3, prilikom instalacije trebalo je podesiti sledeće:
Initialize Database Cluster
1) Port Number 5432
2) Accept connection on all addressess, not just localhost (to sam čekirao)
3) Locale - Serbian Latin (Serbia and Montenegro)
4) Encoding - UTF-8 (treba mi za UNICODE)
5) superuser namer ( postavio sam neko svoje kao i password)
a pre toga:
account name - postgres, a password neki moj;

1)Da li na osnovu ovoga bih trebao dobiti mogućnost konektovanja na bazu putem mreže, naša slova (šđćčž), UNICODE, jer radim sa Tnt kontrolama iz delphi-a koje podržavaju UNICODE?

2)Koristim pgAdmin III i sad, ulogujem se na PostgreSQL Database Server 8.1(localhost:5432), kao superuser, a na osnovu:
Code:

CREATE DATABASE probna
  WITH OWNER = optimus
       ENCODING = 'UTF8'
       TABLESPACE = pg_default;

kreiram bazu, ali, gde? Isto tako kad je kreiram bez koda (desni klik pa New Object - New Database), odnosno, ne znam kako da odredim da se baza kreira na, recimo, C:\baza\???

Hvala unapred.
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

aleksandarpopov
IT consultant
Senta

Član broj: 57172
Poruke: 484
*.sksyu.net.

Sajt: www.linkedin.com/in/aleks..


Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?17.09.2006. u 11:02 - pre 167 meseci
Na windowsima je podrska za unicode mislim jos uvek malo problematicna, ranije je bila, ne znam da li je to vec ispravljeno, ne verujem (nadam se da gresim LOL :). A mislim da je bilo problema i sa odbc driverima i nasim slovima... Na linuxu nema problema sa unicode :). Mozda je bolje na win da se koriste nase kodne stranice. Koje komponente koristis za pristup bazi, preko cega se kacis?

Na ozbiljnijm serverima kao sto je Postgressql, to sa pravljenjem baze i fajla malo drugacije ide nego sa Firebirdom recimo... ne treba da te je briga (za sada) gde ti je fajl baze, kada se konektujes na bazu, ionako se konektujes samo sa imeservera i imenom baze, ne navodis putanju do fajla baze. Inace po defaultu, baze se nalaze u C:\Program Files\PostgreSQL\8.1\data na XP-u (na linuxima rucno inicijalizujes direktorijum gde hoces sa initdb(mada i tamo postoji default), verovatno i za win postoji mogucnost da sam pokrenes taj initdb ali se nisam zanimao sa time...).
Pozdrav
RTFM
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.dialup.neobee.net.



Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?17.09.2006. u 13:18 - pre 167 meseci
Pozdrav,

napokon se neko javio...
Ovako, kao što sam rekao, instalirao sam PostgreSQL 8.1.3, pretpostavljam da je to jedna od poslednjih verzija tog SUPB.

Prilikom podešavanja Encoding sam podesio na UTF-8, a koliko sam video ima i win1251!?! Pošto mi je sistem podešen na naše jezičko područije i language bar na Serbian Latin, nema problema da se podaci unose kao ščćž. Da li je to OK? Odnosno da li će tako biti i na drugom računaru!?!

Što se tiče programskog alata, to je delphi, a komponente na kačenje sa Access-om, Firebir-om, MS SQL Server-om koje sam koristio su IB, dbGo(ADO), tj. bile su mi dovoljne za ono što treba. Da napomenem, prilikom instalacije servera instalirani su mi i PostgreSQL ANSI i PostgreSQL UNICODE drajveri. Tako da, kad želim se nakačiti na bazu, a recimo preko ADO u ADOConnection i na proprty ConnectionString imam dva provajdera PostgreSQL OLE DB PROVIDER i MICROSOFT OLE DB PROVIDER FOR ODBC preko kojih bi trebao to odraditi. Ali pošto nisam znao gde mi je baza koju sam napravio, nisam uspeo nakačiti se.
Koliko sam skontao, kad praviš backup, možeš izabrati proizvoljno lokaciju, pa je to možda način!?! Samo treba odrediti da se backup pravi svakih 30 min, možda sat?

BTW, pokrenuo sam initdb.exe i ništa.
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
*.dialup.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?17.09.2006. u 15:01 - pre 167 meseci
Pogledati attach
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
Prikačeni fajlovi
 
Odgovor na temu

aleksandarpopov
IT consultant
Senta

Član broj: 57172
Poruke: 484
*.sksyu.net.

Sajt: www.linkedin.com/in/aleks..


Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?17.09.2006. u 16:09 - pre 167 meseci
A tebi u stvari prenosenje baze na drugi komp treba, zbog toga ti treba fajl baze? Ne radi se to tako. Ja za to koristim sql scriptove koje mi generise alat u kome sam modelovao bazu, izvrsim taj skript i imam bazu na racunaru gde hocu da prenesem bazu. Tamo kod backupa ima nesto kao backup samo strukturu, nisam probao, ali mislim da bi ti i to posluzilo. initdb za sada zaboravi.

@chachka

Da li je problem sa Unicode resen na Windowsima?

Pozdrav
RTFM
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
*.dialup.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?17.09.2006. u 18:19 - pre 167 meseci
resen je
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
 
Odgovor na temu

aleksandarpopov
IT consultant
Senta

Član broj: 57172
Poruke: 484
*.sksyu.net.

Sajt: www.linkedin.com/in/aleks..


Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?17.09.2006. u 18:37 - pre 167 meseci
Odlicno!
RTFM
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.dialup.neobee.net.



Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?17.09.2006. u 21:19 - pre 167 meseci
Hvala vam na odgovorima.
Uspeo sam se konektovati iz delphi-a na bazu.
Još nekoliko "upoznavajućih" pitanja...
Kada kreiram tabelu, atribut tipa DATE, hteo bih postaviti na format 12/12/06, kao što mi je u regional settings-u, ali postgresql mi je dozvolio unos u tu kolonu tipa DATE 2001-12-23. Verujem da nije neki veliki problem i da se u samom sql kodu treba nešto dodati, pa vas molim, da mi pomognete šta da dodam?
Isto pitanje i za novčani unos?
Citat:

A tebi u stvari prenosenje baze na drugi komp treba, zbog toga ti treba fajl baze? Ne radi se to tako. Ja za to koristim sql scriptove koje mi generise alat u kome sam modelovao bazu, izvrsim taj skript i imam bazu na racunaru gde hocu da prenesem bazu.

U stvari, npr., napravio sam bazu, u delphi-u interfejs, sad proizvod isporučujem nn licu. Da li se na računaru tog nn lica može postaviti samo postgresql baza, eventualno neki dll, .exe fajl i da lepo funkcioniše. Nešto slično Access-u, postavim samo bazu .mdb i .exe tako da sve lepo funkcioniše.

[Ovu poruku je menjao loshmiscg dana 17.09.2006. u 22:31 GMT+1]
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

aleksandarpopov
IT consultant
Senta

Član broj: 57172
Poruke: 484
*.sksyu.net.

Sajt: www.linkedin.com/in/aleks..


Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?17.09.2006. u 22:42 - pre 167 meseci
Moras ceo server instalirati kod korisnika, ne mozes ispruciti samo fajl. Kapiras? Nije kao za access, da distribuiras samo . mdb ne znam da li ima embeded varijanta kao za Firebird, ne verujem. Ipak je ovo ozbiljniji SUBP, za vece sisteme. Format datuma mozes i na nivou korisnickog interfejsa da namestis kako hoces. Za novac koristi decimal, numeric.
Pozdrav
RTFM
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.dialup.neobee.net.



Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?18.09.2006. u 13:04 - pre 167 meseci
Citat:
Moras ceo server instalirati kod korisnika, ne mozes ispruciti samo fajl. Kapiras?

Kapiram, slično kao SQL Server 2000.
Što se tiče formata i novca OK, ali jedno pitanje u vezi pravljenja backup-a. Naime, isprobao sam opciju BACKUP i RESTORE, funkcioniše sasvim korektno, ali nisam skontao kako odrediti na koliko vremena da se izvrši backup automatski? Ako uopšte ta opcija ima?
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.dialup.neobee.net.



Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?20.09.2006. u 11:46 - pre 167 meseci
Ne zna niko?
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
*.dialup.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?20.09.2006. u 13:10 - pre 167 meseci
PostgreSQL nema automatski backup i ne treba da ga ima, jer:
- autobackup nije svojstvo SUBP-a vec administratorskog alata,
- autobackup jeste sigurnosna rupa.

Mislim da stadalone instalacija PgAdmin-a ima nekave opcije autobackup-a, ali nisam potpuno siguran. Mozes napraviti svoj alat za autobackup ili prosto iskoristiti WinXP-ov Task Manager i .bat fajl.
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.dialup.neobee.net.



Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?20.09.2006. u 13:33 - pre 167 meseci
OK, chachka, hvala na odgovoru...
Kad si spomenuo već, samostalno pravljenje alata za backup, imam iskustva sa delphi-em gde bih to mogao
odraditi, ali kako bih to odradio!?! Pri tom ne mislim na delphi kod, nego na filozofiju, a posle ću već
videti kako kodom ispisti to, naravno kad shvatim na koji način je to ispravno uraditi.

Ovako iz glave mi pada na pamet kopiranje fajla (db) sa jedne lokacije na drugu u određenom vremenskom
periodu, koji odredimo sami!?!

Pa ako možeš nešto otome, bio bih veoma zahvalan.

Pozdrav.


Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
*.dialup.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?20.09.2006. u 15:47 - pre 167 meseci
1. lokacija baze

Ne postoji jedan fajl koji se samo kopira! Aleksandar ti je već napisao da ne treba da te interesuje gde se baza fizički nalazi i dao ti je putanju do direktorijuma gde se baze smeštaju po default-u (ako si radio Next-Next-Finish (NNF) instalaciju).

Gornje reči "ne treba da te interesuje" shvati sa stanovišta korisnika. Normalno je da treba da znaš gde ti se baza nalazi na disku, da bi obezbedio kvalitetan hardver, dovoljno prostora na particiji, zabranu neovlašćenog pristupa tom delu fajl sistema, ...

PostgreSQL server koristi jedan direktorijum koji se pomoću programa initdb.exe pretvara u database cluster. U njemu se onda smeštaju sve baze, podaci o korisnicima, pravima pristupa,... Ovaj initdb se odrađuje automatski pri NNF Win instalaciji u momentu kada te pita za account name, password, za encoding itd. Koji direktorijum koristi initdb pri NNFI? Po default-u "C:\Program Files\PostgreSQL\8.1\data\", ali se i to može promeniti u momentu instalacije na ekranu čiju sliku šaljem u prilogu (pošto ne znam da je ubacim u post, a mrzi me da tražim uputstvo :) Na tom ekranu se označi Data directory, klikne na Browse i odabere željeni folder za instalaciju database cluster-a.


2. automatski backup
Automatski backup je sigurnosna pretnja!

Backup se uvek radi pomoću programa pg_dump.exe. Čak i pgAdmin u pozadini poziva pg_dump.

Kako napraviti alat za automatski backup? Treba da radi sledeće:
- čuči u pozadini i proverava vreme (TTimer u Delphi-ju),
- u pravom trenutku pozove komandu pg_dump.exe sa ispravnim parametrima.

U kom obliku se poziva pg_dump tj. koji su joj parametri?
Do ispravnih parametara komande pg_dump se najlakše dolazi tako što se započne backup željene baze u pgAdmin-u. Prva linija poruka o toku backup-a je nešto poput:
C:\Program Files\PostgreSQL\8.1\bin\pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f "c:\probna.backup" "probna"

Legenda:
1. istaknuti parametar - korisničko ime
2. istaknuti parametar - ime bekap fajla s punom putanjom
3. istaknuti parametar - ime baze
Ostali parametri su manje bitni, pa ih neću spominjati ovom prilikom.

Jedan od parametara je korisnik. Zbog povećanja sigurnosti baze je najbolje da kreiraš posebnog korisnika baze za svrhu automatskog backup-ovanja. Recimo da se taj korisnik zove "_auto_backup" sa lozinkom "promeni_me". Tom korisniku se mora dodeliti SELECT pravo nad svim tabelama.
Code:

CREATE ROLE _auto_backup NOINHERIT LOGIN PASSWORD 'promeni_me';
GRANT SELECT ON tabela1 TO _auto_backup;
GRANT SELECT ON tabela2 TO _auto_backup;
...
GRANT SELECT ON tabelaN TO _auto_backup;

U WinXP-u postoji fajl u kojem se mogu postavis lozinke korisnika (Ovde je SIGURNOSNA RUPA!). To je fajl: "C:\Documents and Settings\winxp_korisnicki_nalog\Application Data\postgresql\pgpass.conf". Ovaj fajl izmeni tako da mu je sadržaj sledeći:
Code:

localhost:5432:probna:_auto_backup:promeni_me

Sada preostaje da alat za automatski backup pozove pg_dump sa odgovarajućim parametrima ili da pozove unapred pripremljen BAT fajl. (Ovakav BAT fajl može da pozove i WinXP-ov Scheduled Tasks što je i najlakše i najbrže rešenje)

Kako se poziva drugi program ili fajl iz Delphi-ja?
Nedavno je bila jedna tema na Delphi podforumu. (U svakom slučaju, tamo ima jakih likova koji će se već naći da odgovore)

Srđan

PS: U predhodnom postu sam napisao Task Manager, a trebalo je da piše Scheduled Tasks
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
Prikačeni fajlovi
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.dialup.neobee.net.



Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?20.09.2006. u 22:33 - pre 167 meseci
Hvala Srđane na ovako opširnom odgovoru.

U vezi odgovora pod brojem 1:
kad čovek žuri ne vidi šta mu piše ispred nosa!!! Sad me malo sramota zbog glupog pitanja. U principu, mogu ostaviti na toj putanji jer kreiram backup, koji će se automatski osvežavati novim podacima, a ako se iz nekog razloga desi pad sistema, etc., samo podignem server, iskompajliram SQL skripte i odradim RESTORE podataka.

U vezi s odgovorom pod brojem 2:
našao sam na C:\Program Files\PostgreSQL\8.1\bin\pg_dump.exe, e, sad mi treba malo razjašnjenja. Prvi put kad kreiram fajl neki_naziv.backup pgAdmin pozove pg_dump.exe i on napravi taj fajl neki_naziv.backup
na nekoj putanji koju smo zadali!?! Dalje, ako želimo odraditi automatski backup posle nekog vremena, u delphi-u napravim proceduru ili funkciju u okviru programa ili poseban program koji će pozivati pg_dump.exe!?! Sad je problem ovo:
Citat:

C:\Program Files\PostgreSQL\8.1\bin\pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f
"c:\probna.backup" "probna"

1. istaknuti parametar - korisničko ime
2. istaknuti parametar - ime bekap fajla s punom putanjom
3. istaknuti parametar - ime baze
Citat:

Jedan od parametara je korisnik. Zbog povećanja sigurnosti baze je najbolje da kreiraš posebnog korisnika baze za svrhu automatskog backup-ovanja.

OK, ovo bi trebalo biti jasno, backup se radi na osnovu tog korisnika koji ima sva prava, dok ostali imaju
samo odgovarajuća, pa su zbog toga ograničeni za tako nešto. Dakle, prilikom pozivanja pg_dump.exe
traži korisnika koji ima sva prava nad tabelama.
Citat:

U WinXP-u postoji fajl u kojem se mogu postavis lozinke korisnika (Ovde je SIGURNOSNA RUPA!). To je fajl:
"C:\Documents and Settings\winxp_korisnicki_nalog\Application Data\postgresql\pgpass.conf"

Ovaj fajl, pgpass.conf, nisam našao na računaru, koristio sam i search, ali nema ga!?! Možda ima neki
drugi naziv?
Citat:

- u pravom trenutku pozove komandu pg_dump.exe sa ispravnim parametrima.

Kad iz delphi-a pozovem pg_dump.exe, ili na osnovu Scheduled Tasks kako će pg_dump.exe znati koju bazu da backup-uje i na koju lokaciju, pogotovo, ako ima više baza na serveru? Odnosno, kako mu dodeliti parametre (korisnik, lokacija, baza)? To mi malo nije jasno!?!
Jel pg_dump.exe upamti na osnovu prvog backup-a parametre, pa na osnovu korisnika sledeći put kad se pozove
zna koju bazu i gde backup-ovati. Odnosno, potrebno je prvi backup odraditi za sve baze ručno, potom, kad se pozove na osnovu korisnika iz pgpass.conf prolazi kroz sve baze i pravi defenisane backup-e?

p.s. nadam se da te neću smoriti ovolikim detaljima, ali stvarno mi je stalo to skontati.
p.s.1 našao sam pgpass.conf, bio je hidden

[Ovu poruku je menjao loshmiscg dana 21.09.2006. u 01:02 GMT+1]
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
*.dialup.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?21.09.2006. u 00:50 - pre 167 meseci
PREDPOSTAVKE:

- Radimo u Windows XP OS-u.
- PostgreSQL server je instaliran na lokalnom računaru, u default direktorijumu, i osluškuje port 5432.
- Imamo bazu pod imenom "probna".
- Imamo korisnik "_auto_backup" sa lozinkom "promeni_me".
- Korisnik "_auto_backup" ima SELECT pravo nad svim tabelama baze "probna".
- U Windows XP se logujemo upotrebom korisničkog naloga pod imenom "milos".
- Ne postoji fajl "C:\Documents and Settings\milos\Application Data\postgresql\pgpass.conf".
- Računar radi 24/7.
- Date separator formata datuma nije neki od znakova \ / : * ? " < > |


CILJEVI:

- Hoćemo da napravimo automatski bekap baze "probna" svaki dan u 1 sat po ponoći.
- Stari backup fajlovi treba da ostanu netaknuti.


IDEJE:

- Cilj ćemo ostvariti upotrebom BAT fajla i Scheduled Tasks-a.
- Imenu bekap fajla ćemo pridodati datum kreiranja fajla (time obezbeđujemo jedinstvenost imena fajla na dnevnom nivou).


REALIZACIJA:

1.
Kreiramo fajl "C:\Documents and Settings\milos\Application Data\postgresql\pgpass.conf". To je običan text fajl koji umesto eksenzije TXT ima ekstenziju CONF. Taj fajl popunimo sledećim sadržajem:
Code:

localhost:5432:probna:_auto_backup:promeni_me

2.
Kreiramo fajl "C:\backup_probna.bat", sledećeg sadržaja:
Code:

"C:\Program Files\PostgreSQL\8.1\bin\pg_dump.exe" -i -h localhost -p 5432 -U _auto_backup -F c -b -f c:\probna-%date%.backup probna

3.
U Scheduled Tasks kreiramo nov Scheduled Task kojem popunimo, između ostalih, i polja:
- Run = C:\backup_probna.bat
- Scheduled Task = Daily
- Start time 01:00
- Every = 1 day(s)

4.
Nema dalje, to je to.

[Ovu poruku je menjao chachka dana 26.09.2006. u 11:46 GMT+1]
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
 
Odgovor na temu

tanasko
Šef službe za detekciju kvarova na
vodovodnoj i kanalizacionoj mreži
JKP "Naissus"- Niš
Niš

Član broj: 45776
Poruke: 183
*.dynamic.isp.telekom.rs.



+3 Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?29.04.2012. u 11:01 - pre 99 meseci
Citat:
chachka1. lokacija baze

Ne postoji jedan fajl koji se samo kopira! Aleksandar ti je već napisao da ne treba da te interesuje gde se baza fizički nalazi i dao ti je putanju do direktorijuma gde se baze smeštaju po default-u (ako si radio Next-Next-Finish (NNF) instalaciju).

Gornje reči "ne treba da te interesuje" shvati sa stanovišta korisnika. Normalno je da treba da znaš gde ti se baza nalazi na disku, da bi obezbedio kvalitetan hardver, dovoljno prostora na particiji, zabranu neovlašćenog pristupa tom delu fajl sistema, ...

PostgreSQL server koristi jedan direktorijum koji se pomoću programa initdb.exe pretvara u database cluster. U njemu se onda smeštaju sve baze, podaci o korisnicima, pravima pristupa,... Ovaj initdb se odrađuje automatski pri NNF Win instalaciji u momentu kada te pita za account name, password, za encoding itd. Koji direktorijum koristi initdb pri NNFI? Po default-u "C:\Program Files\PostgreSQL\8.1\data\", ali se i to može promeniti u momentu instalacije na ekranu čiju sliku šaljem u prilogu (pošto ne znam da je ubacim u post, a mrzi me da tražim uputstvo :) Na tom ekranu se označi Data directory, klikne na Browse i odabere željeni folder za instalaciju database cluster-a.


2. automatski backup
Automatski backup je sigurnosna pretnja!

Backup se uvek radi pomoću programa pg_dump.exe. Čak i pgAdmin u pozadini poziva pg_dump.

Kako napraviti alat za automatski backup? Treba da radi sledeće:
- čuči u pozadini i proverava vreme (TTimer u Delphi-ju),
- u pravom trenutku pozove komandu pg_dump.exe sa ispravnim parametrima.

U kom obliku se poziva pg_dump tj. koji su joj parametri?
Do ispravnih parametara komande pg_dump se najlakše dolazi tako što se započne backup željene baze u pgAdmin-u. Prva linija poruka o toku backup-a je nešto poput:
C:\Program Files\PostgreSQL\8.1\bin\pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f "c:\probna.backup" "probna"

Legenda:
1. istaknuti parametar - korisničko ime
2. istaknuti parametar - ime bekap fajla s punom putanjom
3. istaknuti parametar - ime baze
Ostali parametri su manje bitni, pa ih neću spominjati ovom prilikom.

Jedan od parametara je korisnik. Zbog povećanja sigurnosti baze je najbolje da kreiraš posebnog korisnika baze za svrhu automatskog backup-ovanja. Recimo da se taj korisnik zove "_auto_backup" sa lozinkom "promeni_me". Tom korisniku se mora dodeliti SELECT pravo nad svim tabelama.
Code:

CREATE ROLE _auto_backup NOINHERIT LOGIN PASSWORD 'promeni_me';
GRANT SELECT ON tabela1 TO _auto_backup;
GRANT SELECT ON tabela2 TO _auto_backup;
...
GRANT SELECT ON tabelaN TO _auto_backup;

U WinXP-u postoji fajl u kojem se mogu postavis lozinke korisnika (Ovde je SIGURNOSNA RUPA!). To je fajl: "C:\Documents and Settings\winxp_korisnicki_nalog\Application Data\postgresql\pgpass.conf". Ovaj fajl izmeni tako da mu je sadržaj sledeći:
Code:

localhost:5432:probna:_auto_backup:promeni_me

Sada preostaje da alat za automatski backup pozove pg_dump sa odgovarajućim parametrima ili da pozove unapred pripremljen BAT fajl. (Ovakav BAT fajl može da pozove i WinXP-ov Scheduled Tasks što je i najlakše i najbrže rešenje)

Kako se poziva drugi program ili fajl iz Delphi-ja?
Nedavno je bila jedna tema na Delphi podforumu. (U svakom slučaju, tamo ima jakih likova koji će se već naći da odgovore)

Srđan

PS: U predhodnom postu sam napisao Task Manager, a trebalo je da piše Scheduled Tasks


Dobro, napravili smo backup, a sada na primer hoću da napravim restore na drugom kompjuteru. Kako?
U teoriji, teorija i praksa su jedno te isto. U praksi, nije baš tako.
 
Odgovor na temu

after
Ajvanho, ING

Član broj: 276962
Poruke: 97
*.dynamic.sbb.rs.



+6 Profil

icon Re: Početak rada sa Postgre - om, pa mi treba mala pomoć?01.07.2012. u 21:55 - pre 97 meseci
Nastavila se tema posle 6 godina :).

Restore baze zavisi od nacina na koji je napravljen backup, tj. od samog backup fajla.

Ako je backup napravljen preko pg_dump i backup fajl je (default) text fajl - .sql

cat DB1.sql | psql -d DB1

Kod restore baze na ovaj nacin ne mogu se restorovati pojedinacni objekti (trigeri, tabele,..) osim ako se ne edituje backup fajl tako da sadrzi samo zeljene objekte.

Slicno je i kod backupa koji su napravljeni sa pg_dumpall, stim sto pg_dumpall po defaultu kako i ime kaze backupuje sve baze, ukljucujuci i sistemske, usere i grupe. Restore pojedinacnih baza nije moguce osim ako se ne edituje sam backup fajl.

Kod backup fajla koji je pravljen preko pg_dump i koji je binary format, restore ide preko pg_restore i moguce je direknto odabrati objekte koji se zele restorovati.

Delimicno nacin restore zavisi i od OS zbog sintakse koju podrzava OS, jer recimo win nema |. Mada to i nije toliko bitno jer sam backup fajl je nezavisan od OS i prenosiv kroz razne kombinacije HW i OS, kod SQL tip backupa (backup preko pg_dump i pg_dumpall). Tako da backup koji je na Linuxu moze se direknto restorovati na neki udaljen Win.

Pozz.
 
Odgovor na temu

[es] :: PostgreSQL :: Početak rada sa Postgre - om, pa mi treba mala pomoć?

[ Pregleda: 9649 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.