[ exdatis @ 27.05.2008. 08:09 ] @
Pozdrav!
Nisam do sada koristio PostgreSQL bazu, pa mi treba objasnjenje,
sa radom u lokalu nemam problema, medjutim kada sam hteo da omogucim
mreznu konekciju sa "listen_address" uz value "*" , em nisam uspeo da se
preko Perl-DBI konektujem, em sam dobijao poruku da 127.0.0.1 ne moze sada
da radi na portu 5432???
Rec je o PG 8.3 na linux-u.
Izmene sam inace pravio kroz PgAdmin, a probao sam i rucno, navodio sam i address
u pg_h.. kao:host all all 192.168.0.168/24(bez maske doduse) trust
i opet nisam nista uradio. Mozda redosled izmena nije bio pravi?
Hvala unapred!
[ michaelk @ 27.05.2008. 09:03 ] @
jer si uradio posle toga "Reload configuration"?

Probaj sa : "host all all 192.168.0.1/24 trust" u pg_hba.conf
[ gosha @ 27.05.2008. 09:25 ] @
127.0.0.1 oznacava local host, sto ce reci PG ne slusa zahteve za mreze nego samo sa masine na kojoj je instaliran.

Masina sa koje pristupas ti mora biti u opsegu 192.168.0.1-192.168.0.24 ukoliko si stavio 192.168.0.1/24. Naravno subnet mask mora da se poklapa ali to ti je ok ako mozes da pingujes masine.

Takodje moras proveriti Fire Wall i SE linux.

Poz. Gosha
[ exdatis @ 27.05.2008. 09:48 ] @
Hvala svima!
Jos uvek nisam uspeo, ali pokusavam.
Sto se tice reload conf... da li je to potrebno, s'obzirom da sam restartovao masinu?
Sto se tice firew.. nije podignut, pitanje je da li mogu da navedem samo 192.168.0.168 bez icega
moja mreza je velika (200 racunara preko linux servera, moja CGI app radi bez problema ali GUI...)?
i koji su jos portovi dostupni?
Hvala!
[ gosha @ 27.05.2008. 10:38 ] @
Restart racunara je isto kao i da si reload config ali mnogo sporije.

Port se podesava u postgresql.conf. Pogledaj tamo koji je upisan.

Ako ti je klijentov IP 192.168.0.168 onda ti taj IP nije u opsegu 192.168.0.1/24.

Mozes da stavis samo taj IP i onda uradi pg_ctl reload na masini gde ti je instaliran postgre.


Poz. Gosha
[ dr ZiDoo @ 27.05.2008. 11:58 ] @
Da li pokreces sevis sa '-j' opcijom? Po defaultu mislim da se postgres servis podize bez podrkse za pristup preko mreze.
[ Jbyn4e @ 27.05.2008. 20:48 ] @
-j?
Mislio si na -i?
man postgres:
Citat:

-i Allows remote clients to connect via TCP/IP (Internet domain)
connections. Without this option, only local connections are
accepted. This option is equivalent to setting listen_addresses
to * in postgresql.conf or via -h.

This option is deprecated since it does not allow access to the
full functionality of listen_addresses. It's usually better to
set listen_addresses directly.

Npr kao postgres korisnik

pg_ctl -o -i start

ce ti pokrenuti server u zeljenom modu.
[ dr ZiDoo @ 28.05.2008. 11:34 ] @
I ili J ma isto je to
[ exdatis @ 30.05.2008. 10:27 ] @
Pozdrav svima i hvala vam!
Najzad sam uspeo!
Po mom misljenju, na linux-u, a ja koristim openSuSe bolje je download-ovati *tar.gz verziju i pridrzavati se objasnjenja u tekstu INSTALL.
ja sam koristio ono njihovo kratko objasnjenje i sve je proslo bolje noge sto sam ocekivao.
To je prvi korak.
Zatim, ipak je sigurnije i bolje editovati pg_hba.conf, ja sam tamo prosto naveo:
host all all 0.0.0.0/0 trust
i sve je proslo glatko, ali naravno u postgres.conf mora se uneti(recimo ovako): listen_address = ' * '

Posle ovoga nije neophodno koristiti npr. /usr/local/pgsql/bin/pg_ctl -o -i -D /usr.....itd.
i sve radi!!!
Ako neko koristi Perl uz to, ja na linux-u koristim DBD::Pg biblioteku, a na Win je lakse postaviti DBD::PgPP i sa tim radi bez problema.

Takodje, bar na SuSe-u mozda imate problem sa pgAdmin-om, pa vas moze zavarati neka greska da pomislite da nesto nije u redu, dakle pre nego sto se uverite da je sve u redu nemojte ga koristiti. Ja koristim pgaccess i odlican je(dovoljan), mada sam ja inace navikao na ISQL pa mi je to i brze i lakse, ali nije lose imati i GUI alatku za svaki slucaj.
Do sada sam koristio sve od lokalnih: paradox, dbase, fox, mdb do servera: MSSQL, MySQL, Sybase, SQLite,
i u svima njima imam aplikacije a probao sam i Oracle i Ingres i DB2 samo kao alat, ali mogu vam reci da mi se PostgreeSQL jako dopada,
zato sam se i potrudio...

p.s. kod navedenog objasnjenja o instalaciji u nekim koracima se komande (bar na SuSe-u) razlikuju npr.

umesto :useradd -> adduser
umesto su -postgres -> su -l postgres
Takodje kad sutradan ponovo pokrenete racunar nemozete odmah nastaviti sa su -l postgres (ako ste logovani kao obican korisnik),
morate najpre odraditi su i uneti root password, a potom su -l postgres i onda sve radi sjajno!
Jos jednom hvala svima ! Pozdrav i uspesno koriscenje PosgreSQl-a

[Ovu poruku je menjao exdatis dana 30.05.2008. u 11:37 GMT+1]
[ Jbyn4e @ 30.05.2008. 16:01 ] @
Hm, napljuva ti SuSE bez razloga. Prvo, to je podesavanje postgres-a, znaci editovanje pg_hba.conf i postgres.conf. Kad tako podesis lepo, onda mozes da koristis /etc/init.d/postgres skript, ili jos jednostavnije rcpostgres za start/stop. Prilikom boot-ovanja ce se ionako sve pokrenuti kako si podesio, jer je postgres kad se instalira iz yast-a odmah oznacen za startovanje prilikom boot-a.

Dalje, mozes postaviti i password za postges usera, pa sa tim passwordom se logovati kao postgres user, ne mora prvo su - da bi postao root. I pise se sa razmakom, znaci su - postgres, tako ce da radi, a su -postgres nece nikad.

Nisam bas razumeo ovo za useradd -> adduser.

[ exdatis @ 02.06.2008. 06:18 ] @
Potpuno si u pravu Jbyn4e!
Sada sam i ja ukapirao, tako, sve moze da radi kako god okrenes, samo sam ja zbog raznih
stecenih predrasuda tokom koriscenja drugih baza, ocekivao nesto drugo.
Ne mali broj puta ja izmisljam toplu vodu vodu, a stvari su daleko jednostavnije....
Bilo kako bilo evo jednog primera brzine, iz jedne tabele SQLite-a koja ima 350.000 slogova(prilicno zar ne
s'obzirom da baza ima 70 tabela, Inace ja i koleginica smo koristili SQLite tako sto na osnovu sloga u tekstualnim
datotekama kreiramo tabele i onda kroz regularne izraze proveravamo validnost i punimo bazu, pa podatke kasnije obradjujemo
i verovali ili ne imamo SQLite bazu sa 3,9 miliona slogova i iz promta radi bez problema!) prenosio sam podatke u Pg tabelu(11 kolona)
namerno kroz petlju(iako ima brzih i jednostavnijih nacina), dakle perl skript(interpretiran ne kompajliran) i stvari stoje ovako:
- koriscenjem .mdb baze na Xp i mysql-a na istom proces traje 20-ak minuta (512 Mb rama)
- koriscenjem SQLite i Pg na SuSe linux-u 7min(512 Mb rama)
- MSSQL server i MySQL se ponasaju tek nesto brze od Access-a i MySQL-a

Zakljucak:
Definitivno sam nasao bazu sa kojom zelim da radim, PostgreSQL !
Pozdrav!

p.s. Inace, nepljujem SuSe, probao sam skoro sve distribucije Linux-a i SuSe mi je najdrazi i gde god radim njega koristim!
[ peka @ 02.06.2008. 15:57 ] @
Citat:
gosha:
Masina sa koje pristupas ti mora biti u opsegu 192.168.0.1-192.168.0.24 ukoliko si stavio 192.168.0.1/24.


Citat:
gosha:
Ako ti je klijentov IP 192.168.0.168 onda ti taj IP nije u opsegu 192.168.0.1/24.


Ne. 192.168.0.168/24 oznacava raspon adresa od 192.168.0.0-192.168.0.255 . Ono /24 oznaca da se uzimaju u obzir samo prva 24 bita IP adrese (znaci samo 192.168.0), tako da u ovom slucaju poslednji broj (ono zadnje 168) nije bitan. Tako da 0.0.0.0/0 oznacava sve IP adresa, jer se posmatra samo prvih 0 bitova (tj. nijedan).

http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
[ gosha @ 02.06.2008. 17:12 ] @
Hvala na ispravci.
Pojma nemam odakle mi to.

Poz. Gosha
[ exdatis @ 04.06.2008. 08:31 ] @
Mala ispravka, za one koji koriste Perl i PostgreSQL sa modulom DBD::PgPP, posto sam rekao sve radi...
Ovu biblioteku je najlakse instalirati kad je Win u pitanju i ActiveState je ima u svom pepozitorijumu,
medjutim oko zelite da sa ovom bibliotekom saznate poslednji insertovani id tabele sa kojom radite, koristite
ovakav upit:
Insert Into <neka_tabela> values(val1, val2, val3 ...) RETURNING <tabela_id>
kad se raspakuje skalar koji je izvrsen dobije se vrednost kljuca (kao last_insert_id).