Re: why local_preload_libraries does require a separate directory ?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: why local_preload_libraries does require a separate directory ?
Дата
Msg-id 19520.1323039961@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: why local_preload_libraries does require a separate directory ?  (Tomas Vondra <tv@fuzzy.cz>)
Ответы Re: why local_preload_libraries does require a separate directory ?  (Tomas Vondra <tv@fuzzy.cz>)
Re: why local_preload_libraries does require a separate directory ?  (Tomas Vondra <tv@fuzzy.cz>)
Список pgsql-hackers
Tomas Vondra <tv@fuzzy.cz> writes:
> On 4.12.2011 22:16, Tom Lane wrote:
>> Um ... why would you design it like that?

> The backends are added to pg_stat_activity after the auth hook finishes,
> which means possible race conditions (backends executed at about the
> same time don't see each other in pg_stat_activity). So I use an
> exclusive lock that's acquired before reading pg_stat_activity and
> released after the pg_stat_activity is updated.
> That's the only thing the library loaded using local_preload_libraries
> does - it releases the lock.

That's an unbelievably ugly, and dangerous, kluge.  All you need is one
backend not loading the second library (and remember,
local_preload_libraries is user-settable) and you've just locked up the
system.

Why are you using pg_stat_activity for this anyway?  Searching the
ProcArray seems much safer ... see CountDBBackends for an example.
        regards, tom lane


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: planner fails on HEAD
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: Inlining comparators as a performance optimisation