Re: Row level security policy policy versus SQL constraints. Any performance difference?

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

In response to

Responses

Browse pgsql-performance by date

  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?