Andrew Dunstan <and...@dunslane.net> writes: > On 04/29/2014 02:56 AM, Heikki Linnakangas wrote: >> On 04/28/2014 10:32 PM, Tom Lane wrote: >>> Meh. I still think it's a bad idea to have CATALOG_VERSION_NO getting >>> compiled into libpgcommon.a, where there will be no way to cross-check >>> that it matches anything. But I guess I'm losing this argument.
>> FWIW, I agree it's a bad idea. I just have no better ideas (and >> haven't given it much thought anyway). > Sure sounds like a bad idea. One idea would be to have relpath.h/.c expose a function (not a #define) that returns the value of CATALOG_VERSION_NO compiled into it. Then, if pg_rewind were to replace all its direct references to CATALOG_VERSION_NO (including the value it checks against pg_control) with calls of that function, consistency would be ensured. A notational problem is that if pg_rewind or similar program is directly using the TABLESPACE_VERSION_DIRECTORY macro anywhere, this wouldn't work. But we could perhaps expose a function to return that string too. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers