From: | Bruce Momjian <bruce(at)momjian(dot)us> |
---|---|
To: | Mladen Gogala <gogala(dot)mladen(at)gmail(dot)com> |
Cc: | pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: log_statement GUC parameter |
Date: | 2021-08-12 20:23:08 |
Message-ID: | 20210812202308.GA4822@momjian.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thu, Aug 12, 2021 at 04:19:18PM -0400, Mladen Gogala wrote:
> Hi!
>
> Unfortunately, only a superuser can set log_statement='all'; Would it be
> possible to execute set session log_statement='all'; as an ordinary user? I
> am trying to execute it from login.sql, a part of login_hook extension which
> implements on-login triggers in PostgreSQL. I will create a procedure with
> security definer, owned by the role "postgres", and grant it to public. That
> should do the trick. However, it would be much nicer if PostgreSQL allowed
> me to set the parameter as a part of the normal session.
>
> The idea is to log all statements by the particular user, not by everybody.
> The user in question uses Weblogic 12.2.1.4 and creates a connection pool
> so I need to find out which statements are the longest running ones and make
> them perform.
I think you can write a SECURITY DEFINER function that calls SET, call
that function at login.
--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com
If only the physical world exists, free will is an illusion.
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2021-08-12 20:28:55 | Re: log_statement GUC parameter |
Previous Message | Mladen Gogala | 2021-08-12 20:19:18 | log_statement GUC parameter |