From: | "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
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 03:19:19 |
Message-ID: | 0A3221C70F24FB45833433255569204D1F59C9A1@G01JPEXMBYT05 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> From: Tom Lane [mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us]
> "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com> writes:
> > 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.
I feel empathy, but I think something needs to be documented for users to upgrade and/or change distributions with relief. In practice, though it may be a shame, isn't option 1 the current answer?
Again, the current situation seems similar to the Linux loadable kernel modules. So PostgreSQL is not alone. See "Binary compatibility" section in:
https://en.wikipedia.org/wiki/Loadable_kernel_module
> 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.
I think so, too.
> 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.
I can't yet imagine if such API (including data structures) can really be defined so that UDF developers feel comfortable with its flexibility. I wonder how other OSes provide such API and ABI.
Regards
Takayuki Tsunakawa
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2016-07-01 03:25:27 | Re: Is a UDF binary portable across different minor releases and PostgreSQL distributions? |
Previous Message | Thomas Munro | 2016-07-01 03:18:54 | Re: [sqlsmith] crashes in RestoreSnapshot on hot standby |