Re: PL/php in pg_pltemplate - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: PL/php in pg_pltemplate
Date
Msg-id 200511251923.52807.peter_e@gmx.net
Whole thread Raw
In response to Re: PL/php in pg_pltemplate  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: PL/php in pg_pltemplate  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-hackers
Tom Lane wrote:
> Peter Eisentraut <peter_e@gmx.net> writes:
> > The counterargument has been that a PostgreSQL major version
> > upgrade would typically require a version upgrade of all language
> > handlers.  In my experience of maintaining and observing the
> > maintenance of binary packages for PostgreSQL and languages, this
> > is decidedly false, at least in the general case.
>
> Really?  I'd argue the opposite.  See also the recent proposal to
> *force* recompilation of all loadable shared libraries for every
> major PG version, by means of embedding a version number in them.

That's a recompilation of the *same* version, not an upgrade of the 
version of the PL.

If you upgrade from PostgreSQL 8.0 to 8.1 you effectively also upgrade 
from "PL/pgSQL 8.0" to "PL/pgSQL 8.1".  That's why we can and should 
and do alter the installation parameters of that language at the same 
time.  But you don't necessarily upgrade from PL/foo 0.77 to PL/foo 
0.78 at that time (instead you just recompile 0.77), which is why we 
cannot really randomly include information on PL/foo in pltemplate 
unless we make very particular arrangements with that development team, 
which I don't see being done in any proposed case.

> > The PL/PHP package is a pretty obvious case where things can go
> > wrong, especially if you have tight dependencies.  You may decide
> > that the next version of PL/PHP will require PHP 5.2.0.  You put
> > that in the pltemplate for PostgreSQL 8.2.
>
> Hm?  Where in pltemplate is there any knowledge of PHP versions?

pltemplate would more or less contain a hidden versioned dependency on 
the external language. (pltemplate says, "The last known version of 
PL/foo at the time of release supports these features." and you need to 
use at least that version or the language installation might be 
broken.)  So we'd pull in a versioned dependency on PL/PHP, which might 
have a versioned dependency on PHP (which might have a versioned 
dependency on libssl, which is incompatible with the one used by 
PostgreSQL, or whatever other weird case you want to imagine).

-- 
Peter Eisentraut
http://developer.postgresql.org/~petere/


pgsql-hackers by date:

Previous
From: Qingqing Zhou
Date:
Subject: Re: gprof SELECT COUNT(*) results
Next
From: Gustavo Tonini
Date:
Subject: Doubt