Обсуждение: More Verbose Logging of Statements
Hi, I've been trying to understand the documentation at http://www.postgresql.org/docs/8.0/static/runtime-config.html but I can't get it to put into my logfile the actual contents of prepared statement parameters. I just get $1, $2 etc. I'd like to show me what those are either in the actual line or below I don't mind which. Is there anyway to do this? Thanks, Rob
On Thu, 10 Nov 2005, Rob Kirkbride wrote: > I've been trying to understand the documentation at > http://www.postgresql.org/docs/8.0/static/runtime-config.html but I can't get > it to put into my logfile the actual contents of prepared statement > parameters. I just get $1, $2 etc. I'd like to show me what those are either > in the actual line or below I don't mind which. > No, the JDBC driver uses the new extended query protocol by default which the server does not log very well. You could make the driver fallback to the older protocol by using the URL parameter ?protocolVersion=2 which is logged fully, but then you're not really testing the same thing if you are trying to debug a problem or do a performance analysis. Kris Jurka
Kris Jurka wrote: > > > On Thu, 10 Nov 2005, Rob Kirkbride wrote: > >> I've been trying to understand the documentation at >> http://www.postgresql.org/docs/8.0/static/runtime-config.html but I >> can't get it to put into my logfile the actual contents of prepared >> statement parameters. I just get $1, $2 etc. I'd like to show me what >> those are either in the actual line or below I don't mind which. >> > > No, the JDBC driver uses the new extended query protocol by default > which the server does not log very well. You could make the driver > fallback to the older protocol by using the URL parameter > ?protocolVersion=2 which is logged fully, but then you're not really > testing the same thing if you are trying to debug a problem or do a > performance analysis. > OK. Thanks. :-( It's to debug things like where you get constraint violation on keys but you don't what the key was. I guess I'd have to try and get the client to do it - hibernate - but this tends to print $s as well! Thanks, Rob
Rob Kirkbride <rob 'at' rkcomputing.co.uk> writes: > OK. Thanks. :-( It's to debug things like where you get constraint > violation on keys but you don't what the key was. I guess I'd have to > try and get the client to do it - hibernate - but this tends to print > $s as well! If it could be of some help - I use PreparedStatement#toString() in my code for such things. It has the problem of not quoting the strings properly but other that that it's cool. Maybe hibernate has some sort of options for doing this? (I don't use it) (yet) -- Guillaume Cottenceau