Re: Extension Packaging

David Wheeler <david@kineticode.com>

From: "David E. Wheeler" <david@kineticode.com>
To: Aidan Van Dyk <aidan@highrise.ca>
Cc: Robert Haas <robertmhaas@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Daniele Varrazzo <daniele.varrazzo@gmail.com>, "pgsql-hackers@postgresql.org Hackers" <pgsql-hackers@postgresql.org>
Date: 2011-04-25T16:17:12Z
Lists: pgsql-hackers
On Apr 25, 2011, at 9:14 AM, Aidan Van Dyk wrote:

> Really, that means you just a sql function to your extension,
> somethign similary to uname -a, or rpm -qi, which includes something
> that is *forced* to change the postgresql catalog view of your
> extension every time you ship a new version (major, or patch), and
> then you get the exact version (and whatever else you include) for
> free every time you update ;-)

I think it's silly for every extension to have its own function that does this. Every one would have a different name and, perhaps, signature.

> The thing to remember is that the postgresql "extensions" are managing
> the *postgresql catalogs* view of things, even though the shared
> object used by postgresql to provide the particular catalog's
> requirements can be "fixed".
> 
> If your extension is almost exclusively a shared object, and the only
> catalog things are a couple of functions defined to point into the C
> code, there really isn't anything catalog-wise that you need to
> "manage" for upgrades.

Most of my extensions will not be written in C (e.g., pgTAP, explanation).

Best,

David