On Fri, Dec 12, 2014 at 08:57:55PM -0500, Tom Lane wrote:
> Peter Eisentraut <peter_e@gmx.net> writes:
> > On 12/12/14 10:16 AM, Tom Lane wrote:
> >> I think pg_upgrade should continue to have SQL scripts that create and
> >> delete the SQL function definitions for these.
>
> > That won't actually work very easily. LANGUAGE internal functions need
> > to be in fmgr_builtins, and the only way to get them there is by listing
> > them in pg_proc.h. (We could drop the functions in initdb, but seems
> > kind of silly.)
>
> Oh, good point.
>
> > The functions do already check themselves that they are called in binary
> > upgrade mode, so exposing them in pg_proc doesn't seem risky.
>
> Fair enough ... binary upgrade mode is not readily accessible, right?
Well, the postmaster allows anyone to use the flag, while the backends
have:
case 'b': /* Undocumented flag used for binary upgrades */ if (secure)
IsBinaryUpgrade = true; break;
which means it can only be passed in from the postmaster. I think only
the super-user can set postmaster options.
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ Everyone has their own god. +