172 похожих чатов

Добрый день! Подскажите пожалуйста, может кто сталкивался - в postgresql

включен slow log, ночью, когда нет нагрузки в этом slow log регистрируется запрос который выполняется около 2х минут(судя по логу), берем этот запрос и +- в то же время ночью его выполняем и получаем не 2 минуты, а 0.3 секунды. Как такое может быть?

7 ответов

7 просмотров

> в postgresql включен slow log В PostgreSQL не существует "slow log". Так что конкретно у Вас включено — log_min_duration_statement? Или, может, auto_explain (auto_explain.log_min_duration)? > берем этот запрос и +- в то же время ночью его выполняем После того или вместо того? И да, как/откуда именно выполняется запрос — может, с помощью курсора, или из pl/pgsql?

скорей всего в первый раз данные запросом читаются с диска, а второй раз уже читаются из кэша, поэтому и разница во времени выполнения. смотрите план запроса через EXPLAIN (ANALYZE, BUFFERS)

Alexey Lesovsky
скорей всего в первый раз данные запросом читаются...

А толку — им сравнивать всё равно не с чем. ;) Если сделать так https://t.me/pgsql/315203 , или перейти на auto_explain — другое дело.

Yaroslav Schekin
А толку — им сравнивать всё равно не с чем. ;) Есл...

согласен что сравнивать не с чем, ну хотя бы видно будет стату блочного чтения

Да. Поэтому, если просто посмотреть план после — не удастся точно выяснить, в чём причина (кеширование? блокировки? другой план? ещё что-то?) .

Fedor-Ignatev Автор вопроса
Yaroslav Schekin
А толку — им сравнивать всё равно не с чем. ;) Есл...

auto_explain тоже включен и тоже 10 секунд стоит значение, как и у log_min_duration_statement

Fedor Ignatev
auto_explain тоже включен и тоже 10 секунд стоит з...

Ну так а план в логах есть? Если да, что ж Вы его не посмотрели (не показали)? ;)

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта