On a lark I changed the postgresql version string from 8.0.0beta4 to
8.0.0 in configure, did a full make clean + configure + compile. After
this trying to start the server elicits a version mismatch complaint
from pg_ctl with postmaster.exe. I figure probably a line ending issue,
no big deal (although I have no idea why it works now.)
So, I hack exec.c to do a straight strcmp to a line-ending insensitive
version of the same (aside: this may be a good idea anyways). Still no
luck starting the server. It turns out pg_ctl is trying to compare
postmaster (PostgreSQL) 8.0.0\n <-- on the pg_ctl side
with
postmaster (PostgreSQL) 8.0.\n <-- on the postmaster side, read from
popen with -V switch.
However, postmaster -V from the command line returns the correct version
string.
I further hack my insensitive comparison to subtract one from the
expected string length, and now everything works normally. I checked
all the buffer lengths and everything is within normal limits. Setting
the version string back to 8.0.0 beta4 allows everything to work as
originally coded via a straight strcmp().
Merlin