Re: Extensions versus pg_upgrade - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Extensions versus pg_upgrade
Date
Msg-id 108.1297219702@sss.pgh.pa.us
Whole thread Raw
In response to Re: Extensions versus pg_upgrade  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Extensions versus pg_upgrade  (Robert Haas <robertmhaas@gmail.com>)
Re: Extensions versus pg_upgrade  (Dimitri Fontaine <dimitri@2ndQuadrant.fr>)
Re: Extensions versus pg_upgrade  ("David E. Wheeler" <david@kineticode.com>)
List pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> ... And you could even allow multiple objects:
> ALTER EXTENSION extension_name ADD object-description [, ...];
> Which might be handy.

I just thought of a different way of coming at the question, which might
help us make a choice.

Like ALTER THING SET SCHEMA, ALTER THING SET EXTENSION is implicitly
assuming that there can be only one owning extension for an object.
Furthermore, it's not really intended for *removal* of an object from an
extension (a concept that doesn't even exist for SET SCHEMA).  We could
take a page from COMMENT ON and use "SET EXTENSION NULL" for that, but
that's surely more of a hack than anything else.

In contrast, ALTER EXTENSION ADD doesn't presuppose that you couldn't
add the object to multiple extensions; and it has a natural inverse,
ALTER EXTENSION DROP.  I am not necessarily suggesting that we will ever
allow either of those things, but I do suggest that we should pick a
syntax that doesn't look like it's being forced to conform if we ever
want to do it.  The DROP case at least seems like it might be wanted
in the relatively near future.

So that looks to me like a fairly good argument for the ADD syntax.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Extensions versus pg_upgrade
Next
From: Robert Haas
Date:
Subject: Re: Extensions versus pg_upgrade