One thing you could try is find rc.local and make a call to the postgres start script there. See if that works. The other thing I'd try is use telinit to switch runlevels without rebooting.