Re: Non-reentrant plperlu function & concurrent access

Поиск
Список
Период
Сортировка
От Philippe Lang
Тема Re: Non-reentrant plperlu function & concurrent access
Дата
Msg-id 8AE5A725DAF7364F97FF75D99E45B6575B98401F@SBS1.attiksystem.local
обсуждение исходный текст
Ответ на Non-reentrant plperlu function & concurrent access  (Philippe Lang <philippe.lang@attiksystem.ch>)
Ответы Re: Non-reentrant plperlu function & concurrent access  (zhong ming wu <mr.z.m.wu@gmail.com>)
Список pgsql-general
> Hi,
>
> I have a non-reentrant plperlu function, which does no database
> modification. It basically stores input data into a file, calls a unix
> shell command, and reads the result back from another file.
>
> I don't really care about database isolation here, phantom reads and
> such. It is not likely to be a problem. What could be a problem, is if
> another call to this function is fired while another one is running.
>
> In this specific case, I could solve the problem by generating random
> input and ouput filenames, but I would prefer a more general solution,
> like using some sort of mutex for the function. What is the best way to
> do that under Postgresql? Although not designed for this (if I
> understand correctly), would a "serializable" isolation level help
> here?

I answer to my own post, sorry...

Maybe Postgresql functions "pg_try_advisory_lock_shared" and "pg_advisory_unlock_shared" are the solution?

-------------------------------------------------------------
Attik System              web  : http://www.attiksystem.ch
Philippe Lang             phone: +41 26 422 13 75
rte de la Fonderie 2      gsm  : +41 79 351 49 94
1700 Fribourg             pgp  : http://keyserver.pgp.com




Вложения

В списке pgsql-general по дате отправления:

Предыдущее
От: Philippe Lang
Дата:
Сообщение: Non-reentrant plperlu function & concurrent access
Следующее
От:
Дата:
Сообщение: Re: good exception handling archiecutre