On Fri, Mar 26, 2021, at 14:16, Tom Lane wrote:
> Alvaro Herrera <alvhe...@alvh.no-ip.org <mailto:alvherre%40alvh.no-ip.org>> 
> writes:
> > On 2021-Mar-26, Joel Jacobson wrote:
> >> On Thu, Mar 25, 2021, at 17:51, Tom Lane wrote:
> >> I wonder what performance will be like with lots o' objects.
> 
> > I guess he is concerned about the number of catalog accesses.
> 
> My concern is basically that you're forcing the join between
> pg_shdepend and $everything_else to be done as a nested loop.
> It will work well, up to where you have so many objects that
> it doesn't ... but the planner will have no way to improve it.

Thanks Alvaro and Tom for explaining.

> Having said that, I don't really see a better way either.
> Materializing $everything_else via a UNION ALL seems like
> no fun from a maintenance perspective, plus we're not that
> great on optimizing such constructs either.

I see why pg_shdepend+pg_get_acl() is to prefer.

That said, I think maintenance of UNION ALL would actually not be too bad,
since the system views could initially be generated by a query using 
information_schema,
and the same query could update them when new catalogs are added.

/Joel

Reply via email to