Re: Is there anyway for non-superuser to log all sql statements at the session level?

From: hubert depesz lubaczewski <depesz(at)depesz(dot)com>
To: Hotmail <crajac66(at)hotmail(dot)com>
Cc: pgsql-admin(at)lists(dot)postgresql(dot)org
Subject: Re: Is there anyway for non-superuser to log all sql statements at the session level?
Date: 2021-09-10 08:42:55
Message-ID: 20210910084255.GB11352@depesz.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

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.

Best regards,

depesz

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2021-09-10 10:36:21 Re: Is there anyway for non-superuser to log all sql statements at the session level?
Previous Message hubert depesz lubaczewski 2021-09-10 08:40:57 Re: Blank page