From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com> |
Cc: | Joe Carlson <jwcarlson(at)lbl(dot)gov>, pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Row level security policy policy versus SQL constraints. Any performance difference? |
Date: | 2017-10-17 22:06:44 |
Message-ID: | 14730.1508278004@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com> writes:
> On 10/17/2017 10:44 PM, Joe Carlson wrote:
>> What I was wondering is what is the performance differences between a
>> row level security implementation:
>> ...
>> and an implementation where I add on the constraints as part of each
>> select statement:
> The main point of the RLS is enforcing an order in which the conditions
> are evaluated.
Yeah. Because of that, I would *not* recommend RLS if you can equally
well stick the equivalent conditions into your queries. There is way
too much risk of taking a serious performance hit due to a bad plan.
An alternative you might consider, if simplifying the input queries
is useful, is to put the fixed conditions into a view and query the
view instead. That way there's not an enforced evaluation order.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Joe Carlson | 2017-10-17 22:18:49 | Re: Row level security policy policy versus SQL constraints. Any performance difference? |
Previous Message | Tomas Vondra | 2017-10-17 21:35:58 | Re: Row level security policy policy versus SQL constraints. Any performance difference? |