Re: Request for new column in pg_namespace - Mailing list pgsql-general

From Ron Johnson
Subject Re: Request for new column in pg_namespace
Date
Msg-id CANzqJaBZc8odgkF_Gn6kgp7gaU2dMiGhS34oTk=+7S28CEHeig@mail.gmail.com
Whole thread Raw
In response to Re: Request for new column in pg_namespace  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On Sun, Dec 15, 2024 at 12:29 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Pavel Stehule <pavel.stehule@gmail.com> writes:
> ne 15. 12. 2024 v 17:59 odesílatel Ron Johnson <ronljohnsonjr@gmail.com>
> napsal:
>> A new boolean column named "indissystem" that's true only for system
>> relations would make *many* maintenance queries cleaner, since they'd
>> look like:
>> select ...

> oid of all system objects is less then 0x4000

That wouldn't help for excluding temp schemas, and it's not totally
trustworthy for information_schema either.

But I think the real problem with Ron's proposal is that it presumes
there is a one-size-fits-all notion of "system schema".  As a
counterexample, for some maintenance activities (such as vacuuming)
you might wish to process pg_catalog.

In that case, one would explicitly mention pg_catalog, no?
where cl.relnamespace = nsp.oid
  and (nsp.indissystem = false or nsp.nspname = 'pg_catalog');
 
What I'd suggest as an improvement that could be implemented
immediately is to wrap the checks in a user-defined function
like "is_system_schema(nspname name)".

Good idea.

--
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!

pgsql-general by date:

Previous
From: Avi Weinberg
Date:
Subject: Continue Logical Replication After Master Became Slave and then Became Master Again
Next
From: Tom Lane
Date:
Subject: Re: Request for new column in pg_namespace