Tom Lane wrote:
> I don't see it as an exception list. The direction I see for this is
> that the parameters to CREATE LANGUAGE are obsolete and will
> eventually be removed altogether, with "CREATE LANGUAGE foo" using an
> existing template as the only recommended way to do it.
So your proposal is to enable a new language by doing:
1. register a template
2. activate template using CREATE LANGUAGE (which would copy it to
pg_language)
How is this different from
1. register language in pg_language without privileges
2. activate language by granting privileges
This already works and uses only well-known concepts.
> > Why don't we just put all PLs that we
> > know of into pg_language to begin with, revoke the permissions, and
> > just let CREATE LANGUAGE fail when the dump is restored?
>
> To do that we'd have to force an initdb, in which case we might as
> well add the proposed pltemplate catalog and have done with it.
I don't have a strong opinion on initdb, but a difference would be that
this solution would not *require* an initdb but only offer the
improvement if initdb were done while continuing to work as before
without initdb.
--
Peter Eisentraut
http://developer.postgresql.org/~petere/