Re: logging in high performance systems.

Поиск
Список
Период
Сортировка
От Marti Raudsepp
Тема Re: logging in high performance systems.
Дата
Msg-id CABRT9RBXfvbf57O53yoxG1eZGXS-xbJ=bTV839-ZvWyw77dvmQ@mail.gmail.com
обсуждение исходный текст
Ответ на logging in high performance systems.  (Theo Schlossnagle <jesus@omniti.com>)
Ответы Re: logging in high performance systems.  (Alvaro Herrera <alvherre@commandprompt.com>)
Список pgsql-hackers
On Thu, Nov 24, 2011 at 04:28, Theo Schlossnagle <jesus@omniti.com> wrote:
> So... here's my first whack at solving this with some flexibility.
>
> The first thing I did was add hook points where immediate statement
> logging happens "pre_exec" and those that present duration
> "post_exec".  These should, with optimization turned on, have only a
> few instructions of impact when no hooks are registered (we could
> hoist the branch outside the function call if that were identified as
> an issue).

Note that the hook mechanism you've built is a departure from how
other hooks are managed in Postgres. Traditionally hooks are just
global function pointers, and each consumer is responsible for storing
the previous value of the hook and chain-calling it in the handler. If
you want to change this pattern, I think you should start another
discussion.

E.g. hook registration looks like:
   next_object_access_hook = object_access_hook;   object_access_hook = sepgsql_object_access;

static void
sepgsql_object_access(ObjectAccessType access, Oid classId, Oid
objectId, int subId)
{   if (next_object_access_hook)       (*next_object_access_hook) (access, classId, objectId, subId);

Regards,
Marti


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

Предыдущее
От: Magnus Hagander
Дата:
Сообщение: psql \timing vs failed statements
Следующее
От: Kohei KaiGai
Дата:
Сообщение: Re: [v9.2] sepgsql's DROP Permission checks