If you rewrite your function in plperlu , you can store data in shared memory.
2011/6/9, Clemens Schwaighofer <clemens.schwaigho...@e-graphics.com>: > Hi, > > I have a plpgsql function where I read data from a table in a loop and > update data in a different table. > > Is it possible to see the updated data from a different access during > the run of this function? Or is this impossible because the function > is a "transaction" and no data change is visible outside until the > function is finished? I can see the changed data inside the function. > > the function looks something like this > > create or replace function insert_log(i_log_id INT, i_queue_id INT) > returns "varchar" > as $$ > declare > [... here are record, etc declarations] > begin > for myrec in select * from queue where queue_id = i_queue_id; > loop > insert into log_sub () values (); > update log set rows = [internal row count] where log_id = i_log_id; > end loop > end; $$ language plpgsql; > -- > ★ Clemens 呉 Schwaighofer > ★ IT Engineer/Web Producer/Planning > ★ E-Graphics Communications SP Digital > ★ 6-17-2 Ginza Chuo-ku, Tokyo 104-8167, JAPAN > ★ Tel: +81-(0)3-3545-7706 > ★ Fax: +81-(0)3-3545-7343 > ★ http://www.e-gra.co.jp > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general > -- ------------ pasman -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general