Postgres AST Deparser for Postgres

2022-05-16 Thread Dan Lynch
HI all! I wanted to share a useful tool that I built during the pandemic. One of my deepest projects I’ve created in postgres, and I’m excited to share it with the community and get ideas and feedback. I do a lot of functional programming and needed dynamic SQL. My personal belief is that ORMs are

column-level security policies for application users

2021-04-19 Thread Dan Lynch
f valid or default values #1 I could manage, I can imagine using the replication role if needed in some places. #2 however, feels clunky and closely coupled to the data model given it requires default or whitelisted values. Thoughts? Any other solutions out there I should be aware of? Dan Lynch (734) 657-4483

Re: policies with security definer option for allowing inline optimization

2021-04-06 Thread Dan Lynch
> > > > I suppose if the possibility exists that this could happen, perhaps using > > RLS for selects is not quite "production ready"? > > I would not draw that conclusion. > > This is great to hear! I'm betting a lot on RLS and have been investing a lot into it. > > Or perhaps if the RLS > > qua

Re: policies with security definer option for allowing inline optimization

2021-04-05 Thread Dan Lynch
This is great, thanks! It's great to have somewhere in the source to read about the optimizer! very cool! > > > I suppose if the > > get_group_ids_of_current_user() function is marked as STABLE, would the > > optimizer cache this value for every row in a SELECT that returned > > multiple rows? >

Re: policies with security definer option for allowing inline optimization

2021-04-02 Thread Dan Lynch
turned and postgres's ability to check some_id = ANY (array) for large arrays. Dan Lynch (734) 657-4483 On Fri, Apr 2, 2021 at 7:47 AM Joe Conway wrote: > On 4/2/21 10:23 AM, Stephen Frost wrote: > > Greetings, > > > > * Joe Conway (m...@joeconway.com) wrote: > &g

policies with security definer option for allowing inline optimization

2021-04-01 Thread Dan Lynch
RLS policies quals/checks are optimized inline, and so I generally avoid writing a separate procedure so the optimizer can do it's thing. However, if you need a security definer to avoid recursive RLS if you're doing a more complex query say, on a join table, anyone wish there was a flag on the po