Hi...
I'm using Postgres 7.3.1 (yes, I know it's old) on a number of machines
running Windows 2000. For reasons I can't get into, we cannot start
Postgres as a service, we instead have a startup script that gets
registered with a cron-like application. What we are seeing is that on
some machines, postgres starts normally, and all is well. On others, it
comes up in the process list, then disappears. On still others, the
problem is sporadic. I have two debug environment dumps from one of the
sporadic machines, one instance where postgres came up and one where it
did not. They are identical until they reach this point:
2005-07-14 20:24:33 [1764] DEBUG:
-----------------------------------------
2005-07-14 20:24:33 [1764] DEBUG: FindExec: searching PATH ...
2005-07-14 20:24:33 [1764] DEBUG: FindExec: found
"/jms_root/bin/postgres" using PATH
2005-07-14 20:24:33 [1764] DEBUG: invoking IpcMemoryCreate(size=1441792)
2005-07-14 20:24:37 [1764] DEBUG: FindExec: searching PATH ...
2005-07-14 20:24:37 [1764] DEBUG: FindExec: found
"/jms_root/bin/postmaster" using PATH
2005-07-14 20:24:37 [1848] LOG: database system was shut down at
2005-07-14 20:22:31 GMTST
2005-07-14 20:24:37 [1848] LOG: checkpoint record is at 0/C1F690
2005-07-14 20:24:37 [1848] LOG: redo record is at 0/C1F690; undo record
is at 0/0; shutdown TRUE
2005-07-14 20:24:37 [1848] LOG: next transaction id: 3856; next oid:
33324
2005-07-14 20:24:37 [1848] LOG: database system is ready
That's an example that worked fine. The next reboot of the machine, it
failed:
2005-07-14 21:03:29 [2176] DEBUG:
-----------------------------------------
2005-07-14 21:03:29 [2176] DEBUG: FindExec: searching PATH ...
2005-07-14 21:03:29 [2176] DEBUG: FindExec: found
"/jms_root/bin/postgres" using PATH
2005-07-14 21:03:29 [2176] DEBUG: invoking IpcMemoryCreate(size=1441792)
2005-07-14 21:03:33 [2176] DEBUG: FindExec: searching PATH ...
2005-07-14 21:03:33 [2176] DEBUG: ValidateBinary:
"/jms_root/bin/postmaster" is not other read/execute
The last line caught my attention, but as I said, it's the same machine,
with the same postmaster executable, with the same permissions. The
user in both cases starting Postgres is SYSTEM, and SYSTEM has full
control of the executable. The sporadic nature of the problem makes me
wonder if there is some sort of race condition, but I can't think of
anything that would be touching the postmaster executable besides our
startup script. Does this ring any bells with anyone? I have been
digging through the archives here, but haven't seen anything, and I
figured I'd get this post out because time is somewhat of the essence.
Any advice would be appreciated. Thanks...
Robin