Tracing commits on the server

From: Jeffrey Tenny <jeffrey(dot)tenny(at)comcast(dot)net>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Tracing commits on the server
Date: 2005-09-24 19:46:31
Message-ID: 4335AD17.9020608@comcast.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

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?

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Oliver Jowett 2005-09-24 21:33:37 Re: Tracing commits on the server
Previous Message Kevin Grittner 2005-09-23 20:46:25 Re: Connecting to postgreSQL