Any system where it is not guaranteed that the database will be up before Zabbix server tries to start will yield a non-started Zabbix server. An example of this is Fedora 16 with Postgresql and systemd.
I believe the fix is fairly simple. Zabbix should wait for a time being if it cannot connect to the database. Maybe a loop of sorts with 250ms between connection attempts and a maximum of 10 seconds of waiting?
Also, if the database goes down, Zabbix should try to reattach. (It may do this already.)
https://bugzilla.redhat.com/show_bug.cgi?id=729753 is this bug and hasn't seen any traffic.