Я новичок в Linux, и мне было поручено настроить резервный сервер Linux DB с PostgreSQL. предпочтительно, чтобы переключение было автоматическим, но пока подойдет и ручной процесс.
На данный момент я установил два идентичных сервера БД на Ubuntu 11.10 с PostgreSQL 9.1 и repmgr1.1.0, выполнив действия, описанные на 2ndQuadrant.
Единственная проблема в том, что это только для репликации, которая работает нормально, спасибо 2ndQuadrant. Теперь я хочу протестировать аварийное переключение, выключив главную БД и переведя горячий резерв в мастерскую, но это не удается с sh: pg_ctl: not found
а затем, что служба postgreSQL не может быть запущена.
Моя установка postgreSQL по умолчанию устанавливается через apt-get и настраивается для master-hot_standby. пожалуйста, не мог бы кто-нибудь помочь мне настроить простую репликацию postgresql между 2 серверами с пошаговым переключением HA.
На этот вопрос уже поздно отвечать. Тем не менее на прошлой неделе я столкнулся с этой проблемой и не смог найти ответ в контексте "репмгр".
pg_ctl находится в каталоге bin вашей установки Postgres. Каталог bin отсутствует в ДОРОЖКА переменная окружения. Вы также не можете установить переменную среды, что делает эту проблему сложной.
Вы должны указать pg_bindir переменная в вашем repmgr.conf файл, который решает эту проблему. Добавьте следующую строку, обновив путь в вашем файле conf.
pg_bindir = / путь / к / postgres / bin
Только что заметил этот вопрос без ответа ... но обычно вы хотите запустить pg_ctl как пользователь postgres
Это в
/usr/lib/postgresql/9.2/bin/pg_ctl
Это если вы используете 9.2, поэтому ваша версия может отличаться.