[ MarkoBalkan @ 03.01.2011. 16:08 ] @
znači imam neku proceduru (funkciju) koju želim automatski pokretati u zadano vrijeme.
da li ovo postgresql podržava, jer nisam nigdje našao?


hvala

[ zoranix @ 03.01.2011. 18:51 ] @
I meni se čini da nema, barem u "standard" paketu.
Možeš to simulirati u PL/PgSQL-u sa uvođenjem nekih "tajmera", koji će ti raditi isti posao, ili se opredeliti za trigere, izazvane pre/posle U/I operacija. I meni je slučajno zatrebala ovakva mogućnost, kao i automatsko pokretanje neke aplikacije u PL/PgSQL-u (neke funkcije, na primer) po startovanju servera. Ovo mi je zatrebalo sad u oči Nove godine i nisam imao vremena da "njuškam", pa me baš interesuje tvoje iskustvo...

Nije valjda da ću morati da pišem funkciju s tajmerom...
[ MarkoBalkan @ 03.01.2011. 18:57 ] @
ekipa kaže da nema u core sustavu joba.

ali može ovako, što mi je palo napamet.

kreira se neka funkcija, u perlu ili python-u se napiše skripta za pokretanje funkcije i složi se cron job na linuxu/unixu ili job na windowsima.



[ zoranix @ 03.01.2011. 19:30 ] @
Sad sam i ja to našao na Oracle-ovom forumu. Međutim ne mora da se piše ništa u Perl-u, ili tome slično. Dovoljno je da funkciju pokreneš kroz psql konzolni program:
psql <myplpgsql.sql
i da to staviš ili u cron (*nix), ili Job Scheduler (Windows). Oni tako preporučuju. Uz svaku bazu dolazi sličan konzolni alat, a kod PostgreSQL-a je to "psql".

Meni treba i dodatna funkcionalnost, a to je da pokrenem funkciju nakon startovanja postmaster servisa. Znam kako bi to uradio modifikacijom orginalnih skripti, ali mi to ne vrši posao. Možda bi bilo bolje da napišem funkciju i da ona "čuči" u bazi stalno, a iz psql-a da probam da se konektujem na bazu i da kada se konektujem "okinem" smeštenu funkciju. Problem se javlja sa cron-om, koji može pokrenuti nekoliko procesa, čekajući da se postmaster startuje, a kada se staruje treba onda voditi računa o sinhronom izvršavanju sql funkcije. Sve ovo mi liči na višenitno programiranje bez rešenih mehanizama za rad niti na nivou jezika.

Iz ovog, a i drugih razloga, treba problemu prići ozbiljno i jako je dobro da PostgreSQL ima neki svoj mehanizam.

Ko pre dođe do rešenja neka podeli iskustvo s kolegama...
[ retry @ 03.01.2011. 22:15 ] @
Nažalost, retko imam priliku da koristim postgres, tako da nisam ni imao potrebu za nečim takvim, ali ovaj post me je svejedno zainteresovao, pa sam potražio malo.

pgAgent
pgAgent Documentation
Setting up PgAgent and Doing Scheduled Backups
How to install pgAgent on windows (PostgreSQL Job Scheduler)

Na prvi pogled izgleda ok, trenutno nemam vremena da probam, ako rešiš da ga koristiš prenesi nam utiske.

pozdrav.
[ Jbyn4e @ 04.01.2011. 07:24 ] @
psql je taman odgovarajuci alat za koriscenje u shell script-ovima, koristio sam nesto ovako u skriptama:

Code:

xml=`psql shema -t -c "select xml from tabela where  action='insert' and position=3 and xml='$xmls';"`

gde je $xmls neka shell promenljiva
kao i
Code:
echo "select c.*,umetni(c.c_id) from tabela c" | psql -d shema -h localhost  -A -f - > umetni.csv