Thread: Exception from deadlock
org.postgresql.util.PSQLException: ERROR: deadlock detected at org.postgresql.util.PSQLException.parseServerError(PSQLException.java:139) at org.postgresql.core.QueryExecutor.executeV3(QueryExecutor.java:152) at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:100) at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:43) at org.postgresql.jdbc1.AbstractJdbc1Statement.execute(AbstractJdbc1Statement.java:517) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:50) at org.postgresql.jdbc1.AbstractJdbc1Statement.executeUpdate(AbstractJdbc1Statement.java:273) at org.postgresql.jdbc1.AbstractJdbc1Statement.executeUpdate(AbstractJdbc1Statement.java:259) When I get a deadlock on psql, I get: ERROR: deadlock detected DETAIL: Process 12189 waits for ShareLock on transaction 3657282; blocked by process 12109. Process 12109 waits for ShareLock on transaction 3657280; blocked by process 12189. So my quesion is where did that detail information go in the jdbc driver? I'm using postgres 7.4.7 with the jdbc driver that comes with it.
Joseph Shraibman wrote: > So my quesion is where did that detail information go in the jdbc driver? > > I'm using postgres 7.4.7 with the jdbc driver that comes with it. Can you try an 8.0-era driver from jdbc.postgresql.org? There have been a number of changes to server error message handling since 7.4. -O
On Thu, 7 Jul 2005, Oliver Jowett wrote: > Joseph Shraibman wrote: > > > So my quesion is where did that detail information go in the jdbc driver? > > > > I'm using postgres 7.4.7 with the jdbc driver that comes with it. > > Can you try an 8.0-era driver from jdbc.postgresql.org? There have been > a number of changes to server error message handling since 7.4. > Actually this is the same in 7.4 and later versions. The level of detail put into the exception message is derived from the loglevel URL parameter, see the toString method. http://gborg.postgresql.org/project/pgjdbc/cvs/co.php/pgjdbc/org/postgresql/util/ServerErrorMessage.java?r=1.8 Later driver versions (8.1dev) allow pg specific code to access all of the fields individually to craft any message they desire. I personally like the idea of putting more information into the default error message. How much more do people want? http://www.postgresql.org/docs/8.0/static/protocol-error-fields.html Kris Jurka
On Jul 8, 2005, at 8:58 PM, Kris Jurka wrote: > Later driver versions (8.1dev) allow pg specific code to access all > of the > fields individually to craft any message they desire. > > I personally like the idea of putting more information into the > default > error message. How much more do people want? > > http://www.postgresql.org/docs/8.0/static/protocol-error-fields.html as much as possible :) -pete -- peter royal -> proyal@pace2020.com
Attachment
Kris, I think as much as possible makes sense too, this shouldn't be in the critical path for performance, so why not ? Dave On 8-Jul-05, at 8:58 PM, Kris Jurka wrote: > > > On Thu, 7 Jul 2005, Oliver Jowett wrote: > > > >> Joseph Shraibman wrote: >> >> >> >>> So my quesion is where did that detail information go in the jdbc >>> driver? >>> >>> I'm using postgres 7.4.7 with the jdbc driver that comes with it. >>> >>> >> >> Can you try an 8.0-era driver from jdbc.postgresql.org? There have >> been >> a number of changes to server error message handling since 7.4. >> >> >> > > Actually this is the same in 7.4 and later versions. The level of > detail > put into the exception message is derived from the loglevel URL > parameter, > see the toString method. > > http://gborg.postgresql.org/project/pgjdbc/cvs/co.php/pgjdbc/org/ > postgresql/util/ServerErrorMessage.java?r=1.8 > > Later driver versions (8.1dev) allow pg specific code to access all > of the > fields individually to craft any message they desire. > > I personally like the idea of putting more information into the > default > error message. How much more do people want? > > http://www.postgresql.org/docs/8.0/static/protocol-error-fields.html > > Kris Jurka > > ---------------------------(end of > broadcast)--------------------------- > TIP 2: Don't 'kill -9' the postmaster > > > Dave Cramer davec@postgresintl.com www.postgresintl.com ICQ #14675561 jabber davecramer@jabber.org ph (519 939 0336 )
Kris Jurka wrote: > I personally like the idea of putting more information into the default > error message. How much more do people want? I'd go for severity, message, and detail by default, and "everything" if you crank up the log level (do we want this to be a separate option to log level, actually?). -O