Этот поток выглядит релевантным - http://archives.postgresql.org/pgsql-admin/2007-11/msg00228.php.
Какую операционную систему Вы используете?
Два распространенных способа сделать это с подсистемами балансировки нагрузки и с кластерами.
Самый общедоступный метод должен был бы поместить аппаратную подсистему балансировки нагрузки перед веб-серверами. LB обнаружил бы, когда сервис снижается на узле и трафике перенаправления к другому узлу. Существует также много методов балансировки программного обеспечения HA/load.
С кластерами серверы имеют соединения heartbeat и другие методы обнаружения сервисной доступности. В активном/пассивном кластере, поскольку Вы, кажется, говорите о, один сервер был бы активным узлом, и если бы он перестал работать, то другой сервер принял бы сервисы. Нет никакой потребности в изменениях IP, потому что кластер использует один виртуальный IP для внешней доступности.
Вот вопрос о SF, связанный с выполнением этого материала с Apache/Linux.
Обработка отказа DNS может быть полезной в некотором ограниченном количестве случаев. Посмотрите, Почему обработка отказа DNS не рекомендуется?