Re: The scope of extensions

From: Roger Leigh <rleigh(at)codelibre(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: The scope of extensions
Date: 2012-04-16 15:46:40
Message-ID: 20120416154640.GC13725@codelibre.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Apr 16, 2012 at 10:22:19AM -0500, Merlin Moncure wrote:
> On Mon, Apr 16, 2012 at 10:05 AM, Roger Leigh <rleigh(at)codelibre(dot)net> wrote:
> > The reason for the above is that I'd very much like to be able to
> > version my entire application's schema using the extension mechanism
> > (or something based upon the ideas in the extensions mechanism).  Since
> > SCHEMA is already taken, maybe CREATE/ALTER/DROP_APPLICATION.  This
> > would permit easy installation and upgrade of all the objects relating
> > to a single application installed in the database.
>
> not following that -- it sounds like you are trying to hook into the
> grammar? that's something you can't do through an extension. but it's
> an interesting thought to do application versioning through the
> extension system...i'm pretty sure it hasn't been tried. there may be
> some pitfalls though.

This was mainly just speculative--in the case that the extension
system didn't support everything I wanted, I was wondering if
extending the grammar would be a viable approach; obviously it would
require other work too!

Every project I've worked on which uses PostgreSQL has independently
implemented its own set of installation and upgrade scripts, which
has typically included some form of table for storing the current
schema version and other settings to allow the scripts to safely do
their job. However, I'm not a big fan of unnecessary wheel
reinvention, and if PostgreSQL could provide a standard mechanism
for doing this which all applications could utilise, that would be
(IMO) an absolutely fantastic feature. If extensions can be used
as they stand to realise this, then that's absolutely great: the
end user installation instructions can be reduced to
CREATE EXTENSION myapplication;
and the equivalent for upgrades. I'm not sure if another keyword
would be useful in this context, since this is much more than a
single extension, it's an entire schema.

Regards,
Roger

--
.''`. Roger Leigh
: :' : Debian GNU/Linux http://people.debian.org/~rleigh/
`. `' schroot and sbuild http://alioth.debian.org/projects/buildd-tools
`- GPG Public Key F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Merlin Moncure 2012-04-16 16:00:02 Re: Result sets from functions
Previous Message Alban Hertroys 2012-04-16 15:42:52 Re: Result sets from functions