I'm trying to debug some database transaction problems, 8.0.3
On the server I've enabled statement logging with the configuration
parameter:
log_statement = 'all'
Works peachy. But my jdbc transaction commits aren't logged,
and I can't figure out how to see when the server is processing logical
statement commits. (It is definitely not an auto-commit application).
I see one or two commits like this:
LOG: statement: begin; select getdatabaseencoding(); commit
LOG: statement: BEGIN; SELECT usesuper FROM pg_catalog.pg_user WHERE
usename = 'Foo'; COMMIT
I'm not sure where those are coming from, an artifact of some command
line tool or jdbc driver directive.
And I get some of these:
LOG: statement: begin; select getdatabaseencoding(); commit
LOG: statement: BEGIN;SELECT version();
LOG: statement: COMMIT;
I don't think those are comming from my app.
Other than that, I see some of these:
LOG: statement: SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION
LEVEL SERIALIZABLE
LOG: statement: SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY
LOG: statement: SET SESSION CHARACTERISTICS AS TRANSACTION READ WRITE
Presumably they're being executed at the start of a new transaction, but
there's no sign of any COMMIT statements before them.
What can I do to see where the database is committing the transaction?