Logging failed sql commands trough jdbc?
От | Mario Splivalo |
---|---|
Тема | Logging failed sql commands trough jdbc? |
Дата | |
Msg-id | 1171895743.5197.24.camel@localhost.localdomain обсуждение исходный текст |
Ответы |
Re: Logging failed sql commands trough jdbc?
|
Список | pgsql-jdbc |
I'm using pg74.215.jdbc3.jar with PostgreSQL 8.1.2. I'm not using jdbc driver for postgres 8 because of prepared transactions wich makes my postgres log file look like this: 2007-02-19 15:02:51.299 CET [32228] <testDb> SELECTLOG: duration: 2481.387 ms statement: EXECUTE <unnamed> [PREPARE: select * from update_message_status($1, $2, $3, $4, $5, $6, $7) as result] That log makes debugging realy difficult. Therefore I use jdbc driver for postgres 7.4, because then my postgres log looks like this: 2007-02-19 15:16:24.118 CET [8865] <testDb> SELECTLOG: duration: 1.280 ms statement: select * from update_message_status('b8b8a9a5-a1d0-44d1-99f9-a057b0e589b5', 20) as result; Now, If, for instance, update_message_status function fails for some reason, the log looks like this: 2007-02-19 15:16:24.083 CET [8860] <testDb> SELECTERROR: duplicate key violates unique constraint "some_pk" 2007-02-19 15:16:24.083 CET [8860] <testDb> SELECTCONTEXT: SQL statement "INSERT INTO ticketing_codes (code_id, code_value, code_group_id) VALUES ( $1 , $2 , $3 )" PL/pgSQL function "__internal__ticketing_check_code" line 60 at SQL statement PL/pgSQL function "update_message_status" line 25 at assignment There, again, I can't know what were the parametes that update_message_status was called with. Is there a way to force postgres to display those parameters, or to force JDBC to log all the queries sent to postgres? Even better, can postgres show the parametars in the 'SELECTCONTEXT' line above (instead of $1, $2, $3?) I don't need prepared transactions for production (although I'm not sure about the speed improvement - not that my test were accurate). Mike Mike
В списке pgsql-jdbc по дате отправления: