Re: Postgres 12 RLS

From: Paul Förster <paul(dot)foerster(at)gmail(dot)com>
To: Laura Smith <n5d9xq3ti233xiyif2vp(at)protonmail(dot)ch>
Cc: postgre <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Postgres 12 RLS
Date: 2020-06-08 11:42:50
Message-ID: 7C76B67D-AF49-4499-B896-85DA40FCC8B1@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Laura,

> On 08. Jun, 2020, at 12:46, Laura Smith <n5d9xq3ti233xiyif2vp(at)protonmail(dot)ch> I had a lightbulb moment just now and tried that, but it doesn't seem to be working.
>
> The app returns "pg_execute(): Query failed: ERROR: permission denied for table...."
>
> This is despite me:
> • Changing to SECURITY INVOKER on the PG function.
> • Granting the app user relevant perms on the underlying table
> • Re-granting execute for the app on the function
>
> Am I missing somehthing ?

another possibility maybe is to use session_user instead of current_user in your policy.

current_user name user name of current execution context
session_user name session user name

The latter is the name of the user who actually started the session. So it should be myappuser in your case.

https://www.postgresql.org/docs/current/functions-info.html

Cheers,
Paul

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Laura Smith 2020-06-08 12:21:32 Re: Postgres 12 RLS
Previous Message Alastair McKinley 2020-06-08 11:36:52 ts_debug() style functions for jsonpath debugging