我可以在spring mvc开发的应用程序中看到内部服务器错误,使用wildfly作为web服务器,数据库是PostgreSQL
。这个例外是什么意思?
ERROR: cannot execute nextval() in a read-only transaction
以前一切都很好。我试图在stackoverflow上寻找解决方案,但没有找到任何可以解决此问题的方法。
最佳答案
函数nextval()
用于递增序列,从而修改数据库的状态。
因为您处于只读事务中,所以会出现该错误。这可能是因为
您显式地启动了一个带有START TRANSACTION READ ONLY
或类似内容的只读事务。
配置参数default_transaction_read_only
设置为on
。
您已连接到流复制备用服务器。
如果default_transaction_read_only
设置为on
,则可以使用
START TRANSACTION READ WRITE;
或通过编辑
postgresql.conf
或使用superuser命令更改设置ALTER SYSTEM SET default_transaction_read_only = off;