Hi Tom,
On Wed, Jan 29, 2020 at 11:43:16PM +0000, Tom Lane wrote:
> Invent "trusted" extensions, and remove the pg_pltemplate catalog.
>
> This patch creates a new extension property, "trusted". An extension
> that's marked that way in its control file can be installed by a
> non-superuser who has the CREATE privilege on the current database,
> even if the extension contains objects that normally would have to be
> created by a superuser. The objects within the extension will (by
> default) be owned by the bootstrap superuser, but the extension itself
> will be owned by the calling user. This allows replicating the old
> behavior around trusted procedural languages, without all the
> special-case logic in CREATE LANGUAGE. We have, however, chosen to
> loosen the rules slightly: formerly, only a database owner could take
> advantage of the special case that allowed installation of a trusted
> language, but now anyone who has CREATE privilege can do so.
morepork, prairiedog and curculio are complaining with the test
plperl_setup:
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=morepork&dt=2020-01-30%2003%3A40%3A36
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=curculio&dt=2020-01-30%2003%3A30%3A37
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=prairiedog&dt=2020-01-29%2023%3A45%3A48
Here is the relevant part:
CREATE FUNCTION foo2() returns int language plperl as '2;';
+ERROR: cannot allocate multiple Perl interpreters on this platform
+CONTEXT: compilation of PL/Perl function "foo2"
--
Michael