pg.ddx.io  pgsql-admin@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: depesz@depesz.com
Cc: Hotmail <crajac66@hotmail.com>
Cc: pgsql-admin@lists.postgresql.org
Subject: Re: Is there anyway for non-superuser to log all sql statements at the session level?
Date: Fri, 10 Sep 2021 06:36:21 -0400
Message-ID: <3933156.1631270181@sss.pgh.pa.us> (raw)
In-Reply-To: <20210910084255.GB11352@depesz.com>
References: <16e9ff79-fe32-4d0d-be57-7c823744a793@Spark>
	<SJ0PR06MB76469C5B646B4551B6292DBFD7D59@SJ0PR06MB7646.namprd06.prod.outlook.com>
	<20210910084255.GB11352@depesz.com>

hubert depesz lubaczewski <depesz@depesz.com> writes:
> On Thu, Sep 09, 2021 at 05:30:55PM -0600, Hotmail wrote:
>> We use liquibase to run migrations against our postgres 11 database.
>> We run the migrations as an application user that does not have
>> superuser permissions. Is there any workaround we could use that would
>> allow us to capture the migration sql that is run by our application
>> user? We want to capture all of the ddl as well as the dml run by the
>> migration user. Since setting log_statement=all  at the session level
>> isn’t possible unless the user is a superuser is there any other way
>> to accomplish this task?

> Sure. Make a security-definer function that changes the log_statement,
> and grant privileges to call it to whoever you need.

Also you can do

alter user foo set log_statement = 'all';

to apply the setting at future logins of user foo.  (While a non-superuser
can't do that for themselves, a superuser can do it for them.)

			regards, tom lane





view thread (6+ messages)

Message-ID: <3933156.1631270181@sss.pgh.pa.us>
Permalink:  ../3933156.1631270181@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/3933156.1631270181@sss.pgh.pa.us

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-admin@postgresql.org
  Cc: tgl@sss.pgh.pa.us, depesz@depesz.com, crajac66@hotmail.com, pgsql-admin@lists.postgresql.org
  Subject: Re: Is there anyway for non-superuser to log all sql statements at the session level?
  In-Reply-To: <3933156.1631270181@sss.pgh.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox