Transaction is read-only in auto commit mode
Hi,
My application based on Java servlets was running fine with version PostgreSQL 7.x, but started giving error: "transaction is read-only", in version 8.0 and 8.1. I am using Suse Linux 9.3/PostgreSQL 8.0 or Suse Linux 10.1/PostgreSQL 8.1. I am using JDBC 3 drivers and all connections are in auto-commit mode. Could you please tell me what's going wrong. Strangely, I looked through all the postings in all the forums but could not find a mention of this problem. Am I doing something exttremely stupid or has something changed in version 8 onwards that's causing this problem? The error appears sporadically, not always but quite frequently. I am using the standard postgresql.conf, except that I had increased the shared buffers and working memory sizes.
I'd really appreciate if anyone could suggest a pointer for further investigation, if not an outright solution.
Thanks in advance..
Asok
Chattopadhyay asked:
My application based on Java servlets was running fine with
version PostgreSQL 7.x, but started giving error:
"transaction is read-only", in version 8.0 and 8.1. I am
using Suse Linux 9.3/PostgreSQL 8.0 or Suse Linux
10.1/PostgreSQL 8.1. I am using JDBC 3 drivers and all
connections are in auto-commit mode. Could you please tell me
what's going wrong.
[...]
I'd really appreciate if anyone could suggest a pointer for
further investigation, if not an outright solution.
Via JDBC, ask the database to
SHOW default_transaction_read_only
and look at the output.
If that is 'true', look at
SELECT source FROM pg_settings WHERE
name='default_transaction_read_only'
If it is false, check java.sql.Connection.isReadOnly().
It is 'false' by default, but maybe is changed somewhere in your code.
Yours,
Laurenz Albe
Import Notes
Resolved by subject fallback