Re: Is a UDF binary portable across different minor releases and PostgreSQL distributions?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com>
Cc: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Is a UDF binary portable across different minor releases and PostgreSQL distributions?
Date: 2016-07-01 02:22:48
Message-ID: 27706.1467339768@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

"Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com> writes:
> I'd like to document the policy clearly in the upgrade section of PostgreSQL manual, eliminating any ambiguity, so that users can determine what they should do without fear like "may or may not work". Which of the following policies should I base on?

> Option 1:
> Rebuild UDFs with the target PostgreSQL distribution and minor release.

> Option 2:
> Rebuild UDFs with the target PostgreSQL distribution.
> You do not have to rebuild UDFs when you upgrade or downgrade the minor release. (If your UDF doesn't work after changing the minor release, it's the bug of PostgreSQL. You can report it to pgsql-bugs.)

I do not like either of those. We try hard not to break extensions in
minor releases, but I'm not willing to state it as a hard-and-fast policy
that we never will --- especially because there's no bright line as to
which internal APIs extensions can rely on or not. With sufficiently
negative assumptions about what third-party authors might have chosen to
do, it could become impossible to fix anything at all in released
branches.

In practice, extensions seldom need to be modified for new minor releases.
But there's a long way between that statement and a promise that it won't
ever happen for any conceivable extension.

To make this situation better, what we'd really need is a bunch of work
to identify and document the specific APIs that we would promise won't
change within a release branch. That idea has been batted around before,
but nobody's stepped up to do all the tedious (and, no doubt, contentious)
work that would be involved.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tsunakawa, Takayuki 2016-07-01 02:33:00 Re: Is a UDF binary portable across different minor releases and PostgreSQL distributions?
Previous Message Michael Paquier 2016-07-01 02:17:18 Re: [sqlsmith] crashes in RestoreSnapshot on hot standby