> >>1. change the type of "log_statement" option from boolean to string,
> >>with allowed values of "all, mod, ddl, none" with default "none". OK, here is a patch that implements #1. Here is sample output: test=> set client_min_messages = 'log'; SET test=> set log_statement = 'mod'; SET test=> select 1; ?column? ---------- 1 (1 row) test=> update test set x=1; LOG: statement: update test set x=1; ERROR: relation "test" does not exist test=> update test set x=1; LOG: statement: update test set x=1; ERROR: relation "test" does not exist test=> copy test from '/tmp/x'; LOG: statement: copy test from '/tmp/x'; ERROR: relation "test" does not exist test=> copy test to '/tmp/x'; ERROR: relation "test" does not exist test=> prepare xx as select 1; PREPARE test=> prepare xx as update x set y=1; LOG: statement: prepare xx as update x set y=1; ERROR: relation "x" does not exist test=> explain analyze select 1;; QUERY PLAN ------------------------------------------------------------------------------------ Result (cost=0.00..0.01 rows=1 width=0) (actual time=0.006..0.007 rows=1 loops=1) Total runtime: 0.046 ms (2 rows) test=> explain analyze update test set x=1; LOG: statement: explain analyze update test set x=1; ERROR: relation "test" does not exist test=> explain update test set x=1; ERROR: relation "test" does not exist It checks PREPARE and EXECUTE ANALYZE too. The log_statement values are 'none', 'mod', 'ddl', and 'all'. For 'all', it prints before the query is parsed, and for ddl/mod, it does it right after parsing using the node tag (or command tag for CREATE/ALTER/DROP), so any non-parse errors will print after the log line.
Showing
- doc/src/sgml/runtime.sgml 16 additions, 7 deletionsdoc/src/sgml/runtime.sgml
- src/backend/tcop/postgres.c 52 additions, 4 deletionssrc/backend/tcop/postgres.c
- src/backend/utils/misc/guc.c 77 additions, 35 deletionssrc/backend/utils/misc/guc.c
- src/backend/utils/misc/postgresql.conf.sample 1 addition, 1 deletionsrc/backend/utils/misc/postgresql.conf.sample
- src/include/tcop/tcopprot.h 14 additions, 1 deletionsrc/include/tcop/tcopprot.h
- src/include/utils/guc.h 1 addition, 2 deletionssrc/include/utils/guc.h
Loading
Please register or sign in to comment