1) Я хочу напечатать продолжительность запроса и выписки в одной строке.
log_duration=on
печатает только продолжительность без выписок.
2018-10-31 19:09:59.771 IST,"testuser","testdb",20540,"win-test:64478",5bd9b0af.503c,6,"",2018-10-31 19:09:59 IST,3/7,0,LOG,00000,"duration: 0.146 ms",,,,,,,,,""
2018-10-31 19:09:59.774 IST,"testuser","testdb",20540,"win-test:64478",5bd9b0af.503c,7,"",2018-10-31 19:09:59 IST,3/8,0,LOG,00000,"duration: 0.087 ms",,,,,,,,,""
2018-10-31 19:09:59.774 IST,"testuser","testdb",20540,"win-test:64478",5bd9b0af.503c,8,"",2018-10-31 19:09:59 IST,3/8,0,LOG,00000,"duration: 0.009 ms",,,,,,,,,""
2018-10-31 19:09:59.774 IST,"testuser","testdb",20540,"win-test:64478",5bd9b0af.503c,9,"",2018-10-31 19:09:59 IST,3/8,0,LOG,00000,"execute <unnamed>: SET application_name = 'PostgreSQL JDBC Driver'",,,,,,,,,""
2018-10-31 19:09:59.775 IST,"testuser","testdb",20540,"win-test:64478",5bd9b0af.503c,10,"",2018-10-31 19:09:59 IST,3/8,0,LOG,00000,"duration: 0.139 ms",,,,,,,,,"PostgreSQL JDBC Driver"
2018-10-31 19:09:59.806 IST,"testuser","testdb",20540,"win-test:64478",5bd9b0af.503c,11,"",2018-10-31 19:09:59 IST,3/9,0,LOG,00000,"duration: 0.061 ms",,,,,,,,,"PostgreSQL JDBC Driver"
2018-10-31 19:09:59.807 IST,"testuser","testdb",20540,"win-test:64478",5bd9b0af.503c,12,"",2018-10-31 19:09:59 IST,3/9,0,LOG,00000,"duration: 0.009 ms",,,,,,,,,"PostgreSQL JDBC Driver"
Итак, я включил log_min_duration_statement = 0
, затем все операторы были напечатаны вместе с продолжительностью, но продолжительность для строки выполнения напечатана на следующей строке. Почему только эта продолжительность напечатана на следующей строке.
Как распечатать продолжительность и выписку в одну строку?
2) Когда log_destination - csv, command_tag не печатается в v10.0 и v9.6, но когда я пытался в v9.3, command_tag печатался для каждой строки.
3) Сообщения об ошибках, запрос на обновление и запрос на вставку содержат две строки журнала.
[2018-10-31 19:31:05.175 IST]|[16396]|LOG: execute <unnamed>: UPDATE ServerStatus SET STATUS=$1 WHERE ( (ServerStatus.SERVERID = $2) )
[2018-10-31 19:31:05.175 IST]|[16396]|DETAIL: parameters: $1 = '1', $2 = '1'
- В CSV обе строки доступны в двух разных столбцах.
- В файле .log оба доступны в виде двух разных сообщений журнала.
- В журнале событий они оба доступны в виде двух разных сообщений журнала в одном сообщении журнала событий.
- В системном журнале они оба пересылаются как два разных сообщения журнала.
Как переслать обе строки как одно сообщение в системный журнал и файл .log?
РЕДАКТИРОВАТЬ:
Решение
1) Я мог бы вывести продолжительность и оператор в одной строке, используя приведенную ниже конфигурацию, но он печатает даже операторы parse и bind, а не только оператор execute.
log_min_duration_statement = 0
log_statement = 'none'