Как изменить базу данных Postgresql от Только для чтения до Перезаписываемого

Я плохо знаком с управлением серверами, особенно 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 для между прочим.

6
задан 24 September 2014 в 04:34
1 ответ

Поскольку SELECT pg_is_in_recovery () is true , вы подключены к серверу реплик только для чтения в режиме hot_standby . Конфигурация реплики находится в recovery.conf .

Вы не можете сделать ее для чтения / записи, кроме как назначив ее мастеру, после чего он перестанет получать новые изменения со старого главного сервера. См. Документацию PostgreSQL по репликации .

Первый шаг - проверить, есть ли файл recovery.conf в каталоге данных. Если он существует, и если вы уверены, что находитесь на главном (не подчиненном) сервере, переименуйте этот файл в «recovery.conf.backup». Затем перезапустите сервер postgresql. Это должно позволить вам писать новые записи сейчас.

7
ответ дан 3 December 2019 в 00:25

Теги

Похожие вопросы