On Mar 4, 2011, at 7:43 AM, Tom Lane wrote:

>> Well it's easy to read that the other way round.  Is superuser = true
>> means that I need to be a superuser or does it mean that the script will
>> get run as superuser no matter what?  Not a huge problem, but still.
>> What about using the PL terminology here, and calling the property
>> 'trusted' (default false, so you have to be a superuser to load them)?
> 
> Hmm.  I see your point, but "trusted" seems like it could just as easily
> be misunderstood.  Anybody have any other opinions about the color of
> that bikeshed?

The trusted/untrusted differentiation confuses me every single time I try to 
remember which is which. So how about requires_superuser or 
install_as_superuser?

> 1. What should pg_dump do with the preinstalled extension plpgsql?
> We could put in a hardwired hack to not dump it, on the assumption that
> it will be preinstalled in the destination database, but that seems a
> bit ugly.  When we decided to preinstall the language, we made pg_dump
> emit CREATE OR REPLACE LANGUAGE so that the dump script would not fail
> if the language was preinstalled.  We don't have an equivalent command
> for extensions, though.  We can either invent one, or put a kluge into
> pg_dump.  Although I'm on record as generally disliking CREATE IF NOT
> EXISTS, I think that having pg_dump emit "CREATE EXTENSION IF NOT EXISTS
> foo" might be the best solution here.  The reason why is that unlike the
> case with other sorts of objects, you typically want the latest version
> of an extension installed, not the one that was present in the source
> database; so the dump script shouldn't be trying to force a particular
> version to be installed, which is the semantics I'd expect of CREATE OR
> REPLACE EXTENSION.

+1 to CREATE OR REPLACE EXTENSION.

> 2. What shall we do with createlang?  Presumably it should start
> emitting CREATE EXTENSION not CREATE LANGUAGE, at which point it's
> really a general purpose extension installer not a PL installer.
> To what extent should we reflect that repurposing in the documentation?
> I think changing the name would be going too far: it would break
> existing scripts for little return.  But it might seem a little weird
> to read "createlang -- install an extension" in the table of contents.
> Thoughts?

ISTM that at this late stage nothing about it should change except the command 
it issues to the database. I'm all for adding a createext command or something, 
and deprecating createlang, but I suspect it's a bit late in the dev cycle for 
9.1.

Best,

David


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to