странно, я тоже когда недавно искал значения, нашёл их именно в логе, да и pgBadger, когда раскрываешь проанализированный запрос показывает пример запуска со значениями, а он же только лог анализирует...
Логирование можно по-разному включать — log_min_duration_statement, log_statement, log_min_error_statement..., да и настройка логов может быть разная (csv, например). Как там сделано?
Логирование можно по-разному включать — log_min_duration_statement, log_statement, log_min_error_statement..., да и настройка логов может быть разная (csv, например). Как там сделано?
Полагаю, тут надо какой-то другой режим выставить. Но их много, немного плаваю пока... 🤔
Т.е. log_min_duration_statement вообще закомментирован, а log_statement — только DDL? Тогда непонятно, почему у Вас вообще обычные запросы логируются. ;) Может, попробовать посмотреть эти значения в тестовой сессии (максимально похожей на настоящую — под тем же пользователем в той же базе и т.п.) в psql (вдруг эти настройки приходят откуда-то ещё)?
подскажите пожалуйста, почему первый запрос может быть быстрее (10%) второго? select exists(select * from "sometable" where condition); select 1 from "sometable" where condition limit 1
Т.е. log_min_duration_statement вообще закомментирован, а log_statement — только DDL? Тогда непонятно, почему у Вас вообще обычные запросы логируются. ;) Может, попробовать посмотреть эти значения в тестовой сессии (максимально похожей на настоящую — под тем же пользователем в той же базе и т.п.) в psql (вдруг эти настройки приходят откуда-то ещё)?
Да, я понял примерно... Логгируются те, что с ошибкой. И там как раз $1 $2...
подскажите пожалуйста, почему первый запрос может быть быстрее (10%) второго? select exists(select * from "sometable" where condition); select 1 from "sometable" where condition limit 1
хотя если присмотреться разница в районе погрешности
Да, я понял примерно... Логгируются те, что с ошибкой. И там как раз $1 $2...
А с какой ошибкой? Если синтаксической, то значений-то не будет, потому что их туда никто не передавал (запрос "упал" до bind). ;) Если runtime error — другое дело... и я сходу не помню, какая это настройка. ;(
подскажите пожалуйста, почему первый запрос может быть быстрее (10%) второго? select exists(select * from "sometable" where condition); select 1 from "sometable" where condition limit 1
А с какой ошибкой? Если синтаксической, то значений-то не будет, потому что их туда никто не передавал (запрос "упал" до bind). ;) Если runtime error — другое дело... и я сходу не помню, какая это настройка. ;(
То, что с ошибкой запрос, там всё понятно... Там ширина столбца недостаточна. Вопрос был именно в том, что в этой ошибке в запросе также доллары фигурируют вместо явных значений.
подскажите пожалуйста, почему первый запрос может быть быстрее (10%) второго? select exists(select * from "sometable" where condition); select 1 from "sometable" where condition limit 1