From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>, Christoph Berg <cb(at)df7cb(dot)de>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: includedir_internal headers are not self-contained |
Date: | 2014-04-28 15:48:40 |
Message-ID: | 20140428154840.GJ25695@eldon.alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane wrote:
> Heikki Linnakangas <hlinnakangas(at)vmware(dot)com> writes:
> > On 04/28/2014 04:51 PM, Tom Lane wrote:
> >> I'm not even worried about which headers this program uses. What I'm
> >> worried about is that you've got CATALOG_VERSION_NO compiled into a
> >> non-server executable. Is that really such a great idea? Wouldn't it be
> >> better if pg_rewind did not depend on that? (Perhaps it should get the
> >> database's catalog version out of the pg_control file, for example.)
>
> > Sure, that would be better. Although I don't have much hope to make it
> > completely version-independent. At the moment, pg_rewind explicitly
> > reads the control file (yeah, it knows about that too), and checks that
> > the catalog version matches what pg_rewind was compiled with.
>
> ... which might or might not be the same one that libpgcommon was compiled
> with, no? I don't think you're really protecting yourself against version
> skew that way.
The CATALOG_VERSION dependency in that code is a mistake which I didn't
notice back then. I can't put too much thought into this issue at this
time, but printing fork numbers rather than names seems pretty
user-unfriendly to me. Rather than a revert of the whole patch I
would hope for some different solution, if possible, though I can't
offer anything right now.
I don't think it's very likely that we would renumber forks; so the only
possible problem would be that pg_rewind is linked with an older
libpgcommon than the server which doesn't know some newer fork
name/number and fails to produce a correct result. But ISTM we can
rightly consider that as pilot error, right?
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2014-04-28 15:52:01 | Re: Implied BETWEEN from join quals |
Previous Message | Robert Haas | 2014-04-28 15:44:45 | Re: So why is EXPLAIN printing only *plan* time? |