[PERFORM] Row level security policy policy versus SQL constraints. Anyperformance difference?

Поиск
Список
Период
Сортировка
От Joe Carlson
Тема [PERFORM] Row level security policy policy versus SQL constraints. Anyperformance difference?
Дата
Msg-id 59E66BA8.6060009@lbl.gov
обсуждение исходный текст
Ответы Re: [PERFORM] Row level security policy policy versus SQLconstraints. Any performance difference?
Список pgsql-performance
Hello.

I have not used row level security policies in the past but am 
considering using them for a project in which I would like to restrict 
the set returned in a query based on specific fields. This is more as a 
convenience issue (for me) rather than a security issue.

What I was wondering is what is the performance differences between a 
row level security implementation:

CREATE POLICY <policy name> ON <table> TO <role> USING 
(<field>=ANY(<values>));
<series of selects>
DROP POLICY <policy name>

and an implementation where I add on the constraints as part of each 
select statement:

SELECT <whatever> FROM <table> WHERE <constraints> AND <field>=ANY(<values>)

In my (admittedly small) number of EXPLAINs I've looked at, it appears 
that the policy logic is added to the SELECT statement as a constraint. 
So I would not expect any fundamental performance difference in the 2 
different forms.

Is this true? Or is there some extra behind-the-scenes things to be 
aware of? Can there be excessive overhead from the CREATE/DROP POLICY 
statements?

Thanks,

Joe


-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

В списке pgsql-performance по дате отправления:

Предыдущее
От: nijam J
Дата:
Сообщение: [PERFORM] memory allocation
Следующее
От: Tomas Vondra
Дата:
Сообщение: Re: [PERFORM] Row level security policy policy versus SQLconstraints. Any performance difference?