Alvaro Herrera <alvhe...@2ndquadrant.com> writes: > On 2019-Jan-09, Tom Lane wrote: >> We could make the index table still smaller if we wanted to reassign >> a couple dozen high-numbered functions down to lower OIDs, but I dunno >> if it's worth the trouble. It certainly isn't from a performance >> standpoint, because those unused entry ranges will never be touched >> in normal usage; but it'd make the server executable a couple KB smaller.
> Or two couples KB smaller, if we abandoned the idea that pg_proc OIDs > must not collide with those in any other catalog, and we renumbered all > functions to start at OID 1 or so. duplicate_oids would complain about > that, though, I suppose ... and nobody who has ever hardcoded a function > OID would love this idea much. I think that'd be a nonstarter for commonly-used functions. I'm guessing that pg_replication_origin_create() and so on, which are the immediate problem, haven't been around long enough or get used often enough for someone to have hard-coded their OIDs. But I could be wrong. (Speaking of which, I've been wondering for awhile if libpq ought not obtain the OIDs of lo_create and friends by #including fmgroids.h instead of doing a runtime query on every connection. If we did that, we'd be forever giving up the option to renumber them ... but do you really want to bet that nobody else has done this already in some other client code?) regards, tom lane