Peter Eisentraut wrote:
Am Donnerstag, 25. Oktober 2007 schrieb Andrew Dunstan:
From time to time people have raised the idea of a CPAN-like mechanism for
downloading, building and installing extensions and the like (types,
functions, sample dbs, anything not requiring Postgres itself to be
rebuilt), and I have been thinking on this for the last few days. What sort
of requirements would people have of such a mechanism? How do people
envision it working?
Downloading, building, and installing extensions is actually fairly
standardized already (well, perhaps there are 2 or 3 standards, but CPAN has
that as well). I think the inhibitions relate more to the management of
what is installed.
I imagine we need a package manager inside of PostgreSQL to manage
installation, setup, removal, dependencies and so on. Much like rpm or dpkg
really. That should replace the current "run this .sql file" mechanism,
much like rpm and dpkg replaced the "run make install and trust me"
mechanism. I have some of this mapped out in my head if there is interest.
The major challenge that I see is getting updates right, especially when the
package/module contains tables which the user might have added data to (Like for
example pre-8.3 tsearch). Both for updates of the packages, and for upgrading
postgres to a new major revision.
Maybe there are some schema-versioning tools available already that might help,
though...
We'd also need easy integration with the real rpm and dpkg, so that
distribution packages can be built easily and I can run
apt-get install postgresql extension1 extension2
Wow, that is ambitious ;-)
I haven't yet seen a single distribution that gets this right for CPAN, ruby
gems, or anything the like - if you know one, I'd be very interested in trying
it out.
Speaking for myself, I'd already be very happy if I could do
apt-get install postgresql postgresql-pkg
and then
postpkg <database> install <whatever module>.
That'd also allow postpkg to deal with the database-specific requirements of a
package manager (Like specifying which db to add the module too).
regards, Florian Pflug
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly