Я плохо знаком с управлением серверами, особенно postgresql на Сервере Ubuntu, поэтому терпите меня.
Я пытаюсь синхронизироваться между двумя базами данных по двум различным компьютерам, но я не уверен, что я сделал неправильно, с тех пор независимо от того, что я пытался сделать, это, кажется, настроило серверы в режим только для чтения.
Например, если бы я хотел создать роль, то я добрался бы:
ERROR: cannot execute CREATE ROLE in a read-only transaction
Или если бы я хочу составить таблицу, я получил бы сообщение об ошибке:
ERROR: cannot execute CREATE TABLE in a read-only transaction.
Я понятия не имею, что сделать здесь, таким образом, совет относительно того, как решить этот вопрос, значительно ценится.
Я выполняю версию 9.1 PostgreSQL на Сервере Ubuntu 12.04 для между прочим.
Поскольку SELECT pg_is_in_recovery ()
is true
, вы подключены к серверу реплик только для чтения в режиме hot_standby
. Конфигурация реплики находится в recovery.conf
.
Вы не можете сделать ее для чтения / записи, кроме как назначив ее мастеру, после чего он перестанет получать новые изменения со старого главного сервера. См. Документацию PostgreSQL по репликации .
Первый шаг - проверить, есть ли файл recovery.conf в каталоге данных. Если он существует, и если вы уверены, что находитесь на главном (не подчиненном) сервере, переименуйте этот файл в «recovery.conf.backup». Затем перезапустите сервер postgresql. Это должно позволить вам писать новые записи сейчас.