I simplified the bit a bit, but you should see it. Start, wait two seconds, then try to locate the pid file. If it's not there, report error. Oops.

On some very slow systems or discs, you can hit this problem. Slow systems? I guess you are pretty sure all your systems are simply fast enough to handle this properly. Well, you may be wrong. In our case it was a virtual hypervisor with a high IO load and in some cases, postgresql startup was a little longer than two seconds. Just a liiiittle bit.

Good news is this is gonna be fixed very soon, the next Fedora version will probably have systemd startup configuration instead sysv init script. It should work fine then. For older versions, we have filed a BZ.