On Mon, Mar 10, 2014 at 10:25:39AM +0100, Weiss, Wilfried wrote:
> I found the reason for this issue.
>
> Originally I compiled pg 9.2.2 using gcc and everything worked fine.
> Then I compiled it again using xlc and restarted the engine without unloading and recreating the database.
> It seems that are major differences even though it was the same software level.
PostgreSQL stores facts in its control file sufficient to identify all known
variations of the on-disk binary format. Recompiling the same version with a
different compiler rarely requires a dump/reload, because compilers for the
same hardware often share a C language ABI. When that's not so, PostgreSQL
endeavors to emit an message explaining the incompatibility and refuse to
start against the incompatible data files. Failing to detect a
compiler-induced variation in the on-disk format would be a bug.
> Unfortunately this issue is so exotic that probably no one else can take advantage out of my experience.
If this a reproducible problem for a particular compiler, it's worth fixing.
The PostgreSQL buildfarm currently has no active members running AIX or xlc.
If you're in a position to have a machine perform automated PostgreSQL test
runs, that would greatly increase the chance that PostgreSQL will work out of
the box on your configuration. More information:
http://buildfarm.postgresql.org/cgi-bin/register-form.pl
Thanks,
nm
--
Noah Misch
EnterpriseDB http://www.enterprisedb.com