Row-level security performance

From: Jason Borg <jasonb(at)sunpay(dot)com(dot)au>
To: "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Row-level security performance
Date: 2017-10-24 02:51:26
Message-ID: MEXPR01MB1334F05EE1638E9188A9E69094470@MEXPR01MB1334.ausprd01.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Hi,

I see in the v10 release notes (2017-10-05) that there's been a change to "Improve performance of queries affected by row-level security restrictions". I am using RLS in a Postgres 9.5 database and am seeing some very bad performance when joining tables. Upgrading this DB to v10 shows a huge performance increase in some cases where RLS has proven to be an issue, but not all.

I see here (https://www.postgresql.org/message-id/14730.1508278004%40sss.pgh.pa.us) that Tom Lane (author of the commit for the aforementioned release note) remarked on 2017-10-17: "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."

What's the current advice, and future plans for row-level security performance optimisations?
Though things have improved in v10, is there likely to always be that risk of a bad plan arising?

Regards,
Jason Borg.

Browse pgsql-performance by date

  From Date Subject
Next Message Purav Chovatia 2017-10-24 07:36:24 Re: postgresql tuning with perf
Previous Message Steve Atkins 2017-10-23 21:59:47 Re: postgresql tuning with perf