On Wed, Jan 13, 2010 at 4:42 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Hans-Juergen Schoenig <hs@cybertec.at> writes:
>> Michael Meskes wrote:
>>> Before looking into it in detail I think we should first figure out if this
>>> feature really has a benefit.
>
>> the use cases for this thing are quite simple: we are currently porting
>> hundreds (!) of complex Informix terminal applications to PostgreSQL.
>> [ and need to optimize them ]
>
> What you didn't explain is why you need client-side tracing rather than
> using the rather extensive facilities that already exist server-side.
> In particular, have you looked at CVS tip contrib/auto_explain? It
> seems like you are duplicating a lot of what that can do. If that needs
> some additional features, you could work on that. From the big picture
> standpoint I think it makes a lot more sense to add instrumentation
> server-side than client-side. Any features you add client-side are only
> available to ecpg users, and you have to cope with ensuring there's a
> way to collect the data out of the application (which may be running in
> an environment where that's hard).
The OP might even want to think about just turning on
log_min_duration_statement for all queries. auto_explain might even
be more than is needed.
...Robert