Таблицы мастер-узла postgres slony-i невозможно записать после нескольких дней работы - PullRequest
0 голосов
/ 22 июня 2011

Я настроил slony для репликации 3 таблиц с одного компьютера с открытым доступом (главный узел) на другой компьютер с открытым использованием (подчиненный узел).Сначала это хорошо работает.После нескольких дней работы неожиданно появляется сообщение об ошибке -

ОШИБКА: Slony-I: Таблица euprofiles реплицирована и не может быть изменена на узле подписчика - роль = 0

euprofilesявляется одной из таблиц, реплицируемых с помощью slony.

Я знаю, что это сообщение может появиться, если вы пытаетесь записать в таблицу подчиненного узла.Но здесь я пишу только в мастер-узел.

Кто-нибудь видит подобную проблему?

1 Ответ

1 голос
/ 23 июня 2011

Никогда такого не было.Вы уверены, что подключаетесь к БД, к которой, как вы думаете, подключаетесь?Слони может быть немного сложен в настройке и тому подобное, но он не просто случайным образом решает, что хозяин теперь раб.

Если вы psql попадаете в две базы данных и делаете \ d euprofiles для каждой, что они говорят?Исходная таблица должна иметь что-то вроде этого в конце:

1004 * Триггеры _slony_www_logtrigger_228 ПОСЛЕ INSERT ИЛИ УДАЛЕНИЕ ИЛИ ОБНОВЛЕНИЕ пользователей ДЛЯ КАЖДОЙ ROW EXECUTE PROCEDURE _slony_www.logtrigger ( '_ slony_www', '228', '') kvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

и таблица назначения должна иметь что-то вроде этого:

Триггеры: _slony_www_denyaccess_228 ПЕРЕД ВСТАВЛЕНИЕ ИЛИ УДАЛЕНИЕ И ОБНОВЛЕНИЕ пользователей для КАЖДОЙ СТРОКИ ВЫПОЛНИТЬ ПРОЦЕДУРУ _slony_www.denyaccess ('_ slony_www *)

Если они оба похожи на этот последний триггер, есть какая-то проблема.Но держу пари, что вы просто подключаетесь не к тому серверу.Будем надеяться, что это так просто.

...