pgsql: Clean up logging for extended-query-protocol operations, as per

Поиск
Список
Период
Сортировка
От tgl@postgresql.org (Tom Lane)
Тема pgsql: Clean up logging for extended-query-protocol operations, as per
Дата
Msg-id 20060907225202.4EEB09FB2F7@postgresql.org
обсуждение исходный текст
Список pgsql-committers
Log Message:
-----------
Clean up logging for extended-query-protocol operations, as per my recent
proposal.  Parameter logging works even for binary-format parameters, and
logging overhead is avoided when disabled.

log_statement = all output for the src/test/examples/testlibpq3.c example
now looks like

LOG:  statement: execute <unnamed>: SELECT * FROM test1 WHERE t = $1
DETAIL:  parameters: $1 = 'joe''s place'
LOG:  statement: execute <unnamed>: SELECT * FROM test1 WHERE i = $1::int4
DETAIL:  parameters: $1 = '2'

and log_min_duration_statement = 0 results in

LOG:  duration: 2.431 ms  parse <unnamed>: SELECT * FROM test1 WHERE t = $1
LOG:  duration: 2.335 ms  bind <unnamed> to <unnamed>: SELECT * FROM test1 WHERE t = $1
DETAIL:  parameters: $1 = 'joe''s place'
LOG:  duration: 0.394 ms  execute <unnamed>: SELECT * FROM test1 WHERE t = $1
DETAIL:  parameters: $1 = 'joe''s place'
LOG:  duration: 1.251 ms  parse <unnamed>: SELECT * FROM test1 WHERE i = $1::int4
LOG:  duration: 0.566 ms  bind <unnamed> to <unnamed>: SELECT * FROM test1 WHERE i = $1::int4
DETAIL:  parameters: $1 = '2'
LOG:  duration: 0.173 ms  execute <unnamed>: SELECT * FROM test1 WHERE i = $1::int4
DETAIL:  parameters: $1 = '2'

(This example demonstrates the folly of ignoring parse/bind steps for duration
logging purposes, BTW.)

Along the way, create a less ad-hoc mechanism for determining which commands
are logged by log_statement = mod and log_statement = ddl.  The former coding
was actually missing quite a few things that look like ddl to me, and it
did not handle EXECUTE or extended query protocol correctly at all.

This commit does not do anything about the question of whether log_duration
should be removed or made less redundant with log_min_duration_statement.

Modified Files:
--------------
    pgsql/doc/src/sgml:
        config.sgml (r1.83 -> r1.84)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/config.sgml.diff?r1=1.83&r2=1.84)
    pgsql/src/backend/commands:
        portalcmds.c (r1.54 -> r1.55)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/portalcmds.c.diff?r1=1.54&r2=1.55)
        prepare.c (r1.63 -> r1.64)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/prepare.c.diff?r1=1.63&r2=1.64)
    pgsql/src/backend/executor:
        spi.c (r1.162 -> r1.163)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/spi.c.diff?r1=1.162&r2=1.163)
    pgsql/src/backend/tcop:
        postgres.c (r1.506 -> r1.507)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/postgres.c.diff?r1=1.506&r2=1.507)
        utility.c (r1.267 -> r1.268)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/utility.c.diff?r1=1.267&r2=1.268)
    pgsql/src/backend/utils/mmgr:
        README (r1.8 -> r1.9)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/mmgr/README.diff?r1=1.8&r2=1.9)
        portalmem.c (r1.93 -> r1.94)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/mmgr/portalmem.c.diff?r1=1.93&r2=1.94)
    pgsql/src/include/tcop:
        utility.h (r1.28 -> r1.29)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/tcop/utility.h.diff?r1=1.28&r2=1.29)
    pgsql/src/include/utils:
        portal.h (r1.69 -> r1.70)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/portal.h.diff?r1=1.69&r2=1.70)

В списке pgsql-committers по дате отправления:

Предыдущее
От: gsmet@pgfoundry.org (User Gsmet)
Дата:
Сообщение: pgfouine - pgfouine: implemented -keepformatting option to close
Следующее
От: markir@pgfoundry.org (User Markir)
Дата:
Сообщение: bizgres - bizgres: Document the catalog changes for Resource Scheduling.