On May 28, 2009, at 12:33 PM, Tom Lane wrote:
> Greg Stark <stark@enterprisedb.com> writes:
>> Is that really a complete answer? How do we deal with upgrading an
>> extension to a more recent version? What happens to objects in the
>> database which depend on objects from the extension?
>
> Well, if it's only a code change then you install a newer version of
> the
> .so and you're done. If the extension upgrade requires altering any
> SQL-level properties of the module's objects then I'd expect the
> extension author to provide a SQL script to do that.
It would be convenient for me a module/extension author not to have to
write upgrade scripts for every version of my module/extension.
> Obviously there is value in being able to do things like add new
> objects
> to an existing module, but we hashed out the mechanisms for that long
> ago. IIRC the proposed syntax was along the lines of
>
> CREATE EXTENSION foo;
>
> BEGIN EXTENSION foo;
>
> ... anything created here is automatically tagged as belonging
> to foo ...
>
> END EXTENSION foo;
I like it.
Best,
David