Re: updates for handling optional argument in system functions - Mailing list pgsql-hackers

From Álvaro Herrera
Subject Re: updates for handling optional argument in system functions
Date
Msg-id 202603031619.ih6a6v4k6hd6@alvherre.pgsql
Whole thread Raw
In response to Re: updates for handling optional argument in system functions  (Mark Wong <markwkm@gmail.com>)
List pgsql-hackers
On 2026-Jan-29, Mark Wong wrote:

> I don't have a solution for the case of a view storing the OID, but Álvaro
> Herrera suggested to me to at least try preventing those OIDs from being
> reused.
> 
> I've attached a v3 patch set that introduces src/include/catalog/pg_retired.dat
> to store previously used OIDs and procedure names that the scripts unused_oids
> and renumber_oids.pl can consume to prevent the reuse of retired OIDs.

Thinking about this again, I wonder where did we get the idea that
reusing OIDs would be a problem.  How exactly would this happen?  When
you pg_upgrade, your views are taken from a `pg_dump --binary-upgrade`
of the original server, and then recreated using the text
representation of the DDL.  We don't pass the function OIDs in any way
from the old server to the new server.  And there's no other way (than
pg_upgrade) to go from one major version to the next one where the OID
has been reused.

So why did we think this was an actual problem?

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
Syntax error: function hell() needs an argument.
Please choose what hell you want to involve.



pgsql-hackers by date:

Previous
From: Melanie Plageman
Date:
Subject: Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access)
Next
From: Heikki Linnakangas
Date:
Subject: Re: Fix bug in multixact Oldest*MXactId initialization and access