Thread: CREATE EXTENSION forces an library initialization - is it bug?

CREATE EXTENSION forces an library initialization - is it bug?

From
Pavel Stehule
Date:
Hi

I had to fix plpgsql_check issue https://github.com/okbob/plpgsql_check/issues/155

The problem is in execution of _PG_init() in CREATE EXTENSION time.

It is a problem for any extension that uses plpgsql debug API, because it is quietly activated.

Is it necessary?

Regards

Pavel

Re: CREATE EXTENSION forces an library initialization - is it bug?

From
Tom Lane
Date:
Pavel Stehule <pavel.stehule@gmail.com> writes:
> I had to fix plpgsql_check issue
> https://github.com/okbob/plpgsql_check/issues/155

> The problem is in execution of _PG_init() in CREATE EXTENSION time.

> It is a problem for any extension that uses plpgsql debug API, because it
> is quietly activated.

> Is it necessary?

Yes, I think so.  If the extension has any C functions, then when its
script executes those CREATE FUNCTION commands then the underlying
library will be loaded (so we can check that the library is loadable
and the functions really exist).  That's always happened and I do not
think it is negotiable.

            regards, tom lane