DBAtlas · Атлас эксплуатации баз данных

25006: read_only_sql_transaction

PostgreSQL

Что это значит?

Внутри транзакции только для чтения была предпринята попытка выполнить изменяющую данные команду (INSERT/UPDATE/DELETE/DDL). Транзакция настроена только на чтение. Относится к классу 25 (invalid_transaction_state).

Почему возникает?

SET TRANSACTION READ ONLY или параметр default_transaction_read_only=on; либо, чаще всего, попытка записи на реплику для чтения (hot standby / потоковая реплика). Серверы standby по определению доступны только для чтения.

Как исправить

Направляйте запись на основной сервер; проверьте маршрутизацию соединений, разделяющую чтение и запись. Если параметр был установлен по ошибке: SET TRANSACTION READ WRITE; или на уровне сервера default_transaction_read_only=off. Убедитесь, что приложение отправляет трафик чтения-записи на правильный узел.

Открыть в DBAtlas →

Ещё по этой СУБД