Re: log_statement GUC parameter - Mailing list pgsql-general

From Tom Lane
Subject Re: log_statement GUC parameter
Date
Msg-id 4105592.1628800212@sss.pgh.pa.us
Whole thread Raw
In response to log_statement GUC parameter  (Mladen Gogala <gogala.mladen@gmail.com>)
Responses Re: log_statement GUC parameter
List pgsql-general
Mladen Gogala <gogala.mladen@gmail.com> writes:
> 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.

If an ordinary user could manipulate that parameter, he could equally
well hide his activities from the system log.  Conversely, if the
postmaster log setup is such that not a lot of volume is expected,
then flooding it with extra traffic could create its own set of
problems.  Thus, basically all parameters that affect what is logged
are superuser-only, and it'd be a hard sell to weaken that.  The
SECURITY DEFINER function approach is your best bet for poking local
exceptions into that policy.

            regards, tom lane



pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: log_statement GUC parameter
Next
From: Bruce Momjian
Date:
Subject: Re: log_statement GUC parameter