Re: Let's make CPgAN!

From: elein <elein(at)varlena(dot)com>
To: "Florian G(dot) Pflug" <fgp(at)phlo(dot)org>
Cc: Agent M <agentm(at)themactionfaction(dot)com>, Postgres general mailing list <pgsql-general(at)postgresql(dot)org>
Subject: Re: Let's make CPgAN!
Date: 2006-05-22 18:28:54
Message-ID: 20060522182854.GE6349@varlena.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, May 22, 2006 at 08:10:11PM +0200, Florian G. Pflug wrote:
> elein wrote:
> >This issue is a very old issue and people have not come up with
> >the definitive solution to distributing "datablades" as Stonebraker
> >called them.
> True, but OTOH there is no "definitive solution" for OS-level package
> management too, but still "apt-get" or "rpm" do a pretty decent job.
> So, 99% solutions are possible ;-)
>

Theoretically if we have our own packaging system we can nudge the
package developers to want to use it. Not everyone will, hence
the "blessed" projects.

> >For now, the best way is to have small well managed projects on
> >PgFoundry and encourage people to review what is available
> >there. Maybe we can even make perusing the projects there
> >easier.
> >
> >As people build smaller projects on pgfoundry is would be
> >ideal to have "blessed" projects where "blessing" means
> >adhered to an installation procedure.
> The problem is not such much the initial installation, but rather
> upgrade to new versions of either the "package", or postgresql.
>

The developer should be responsible for for the upgrade processes
and it should be incorporated into the scripts that "pgpkg install"
runs.

> >There is already a standard way to add things into the contrib
> >line (but I'm blanking on the name xpg?). All addons require
> >some SQL and most add-ons only require SQL. But those that
> >require C should adhere to the xpg (?) standard. Those that
> >require other languages installed should have the mechanisms built
> >in to at minimum flag those dependencies. For example if a new
> >datatype depended on Perl6, it must check that Perl6 is installed
> >before actually installing itself.
>
> >We have a lot of little solutions and none of them are that
> >far away from each other. I believe the trend is already to use
> >"what worked for that other project". The issue then is to
> >encourage projects on pgfoundry to discover the exact installation
> >standard and promote it. The individual project owners will
> >be required to implement them.
> I'd really like to see a solution that enables me to install
> a package using something like "pgpkg install <dbname> <package>".
> I'd ask me to install prerequisites (like procedural languages
> for example). pg_dump should have an option to exclude any installed
> packages from the dump.

Having that framework requires developers to adhere to the installation
requirements. That was my first requirement and it is also a big
burden. Those requirements should include all upgrade specific tasks
as well as uninstall. Only the project owner knows exactly what those
dependencies would be.

First things first--the install infrastructure needs to be agreed upon.
This is a difficult task. That is why I suggested the basics of
1) executing SQL 2) using xpg(?) for C languages 3) determining
other dependencies. We've got to start somewhere.

>
> As long as "packages" only contain functions, views and types, things
> are quite straight forward, I believe. The hard part would be to support
> packages including table-definitions.

>What do you do when an upgrade
> wants to modify a table, but it already contains user data?

If that case is possible and the developer did not take that into account
for upgrade the it is a bug. The sql in the installation should handle this case.
The developer decides what is necessary.

>
> greetings, Florian Pflug
>

Carry on!

elein
elein(at)varlena(dot)com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Dawid Kuroczko 2006-05-22 18:39:25 Re: Let's make CPgAN!
Previous Message Florian G. Pflug 2006-05-22 18:10:11 Re: Let's make CPgAN!