У меня 2 физических сервера, на каждом по 2 ВМ; виртуальная машина с запущенным Postgres (9.2) и виртуальная машина с некоторым программным обеспечением Python (которое будет подключаться к серверу Postgres). Я ни к чему не привязан в плане типов средств аварийного переключения и т. Д. Есть ли способ избежать проблемы с разделением мозга, учитывая, что у меня всего 2 физических сервера?
На данный момент я понимаю, что когда мой главный сервер Postgres (или машина, на которой он находится) умирает, подчиненная база данных возобновляет роль главного. Если главный сервер был снова включен, он будет думать, что он по-прежнему главный ... Решается ли эта проблема в современных версиях Postgres, или это все еще серьезная проблема, и если да, то почему больше людей не говорят об этом? Кажется, редко можно найти что-нибудь об этом.
Разделите вопросы о физическом / виртуальном сервере и сосредоточьтесь на понимании отработки отказа в Postgres.
Я полагаю, вы уже читали следующее, но если нет, посмотрите механизмы аварийного переключения на высоком уровне: http://www.postgresql.org/docs/9.0/static/warm-standby-failover.html
а затем найдите способ реализовать "выстрелить другому в голову" и сердцебиение, даже если это означает просто совместное использование серверной части хранилища (см.: https://dba.stackexchange.com/tags/drbd/info , http://wiki.postgresql.org/wiki/Shared_Storage )