其實我們的一些方法使用@Transactional(readOnly=true)
但這些方法在某些方面是罰款對於其他數據庫執行NEXTVAL(),但上的Postgres 9.6.3它會導致下面的錯誤。不能執行nextval()會在只讀事務
cannot execute nextval() in a read-only transaction
我所經歷的Postgres的郵件日誌,發現那裏此錯誤後8.4.2 https://www.postgresql.org/message-id/BANLkTik9ikVUU-bznOhZHmLbdEx5fverCw%40mail.gmail.com
只有到來有什麼辦法在那裏在DB層面解決這一問題。
我明白你的意思,但是,甲骨文相同的作品和MySQL作爲序列生成完全是出於交易,和Postgres還指出-a NEXTVAL操作?永遠不會回滾; –
有沒有出路把NEXTVAL從Postgres的只讀事務範圍? –
很好的觀點 - NEXTVAL是OK的交易的一部分,但它反對爲「只讀」。如果將transaction_read_only設置爲on,則只進行只讀會話,而不僅僅是事務。也許這不是太好的命名設置... –