Re: logging in high performance systems.
Alvaro Herrera <alvherre@commandprompt.com>
From: Alvaro Herrera <alvherre@commandprompt.com>
To: Marti Raudsepp <marti@juffo.org>
Cc: Theo Schlossnagle <jesus@omniti.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2012-01-17T16:54:49Z
Lists: pgsql-hackers
Excerpts from Marti Raudsepp's message of mar ene 17 12:12:50 -0300 2012: > 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. Hm. We already have places doing the other thing, for example see XactCallback and ExprContextCallback. Not sure we have an actual criteria for deciding when to use which. -- Álvaro Herrera <alvherre@commandprompt.com> The PostgreSQL Company - Command Prompt, Inc. PostgreSQL Replication, Consulting, Custom Development, 24x7 support