Home > Archive > PostgreSQL JDBC > September 2005 > Tracing commits on the server









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Tracing commits on the server
Jeffrey Tenny

2005-09-24, 8:23 pm

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?

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

http://archives.postgresql.org

Oliver Jowett

2005-09-24, 8:23 pm

Jeffrey Tenny wrote:
> 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'


Try an 8.1 beta -- 8.0 backends don't log the extended query protocol
(which the JDBC driver uses) well at all.

Alternatively, force use of protocol version 2 (pass protocolVersion=2
as a URL parameter), although this also causes other behavioural changes
in the driver.

-O

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com