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

Всем привет! Кто нибудь включал логирование в БД как написано

тут https://chartio.com/resources/tutorials/how-to-log-queries-in-postgresql/#verifying-log-generation? Насколько падает производилеьность , если падает? Есть ли более оптимальные способы включить лог запросов в БД и не уронить производительность

7 ответов

13 просмотров

pg_stat_statements не подойдет?

Shamil Sultanov
pg_stat_statements не подойдет?

Кажется, это продолжение истории про аудит.

статья просто описывает включение лог коллектора и запись логов в CSV формате. От таких действий производительность не просядет. Произ-ть может просесть от объемов записи в лог и производительности дисков где расположен лог-файл.

Daniella-Starchenko Автор вопроса
Shamil Sultanov
pg_stat_statements не подойдет?

А это может как то влиять на производительность? Если да, то в каких случаях

Daniella Starchenko
А это может как то влиять на производительность? Е...

Всё подобное как-то снижает производительность, безусловно (во всех случаях). И, тем не менее, по крайней мере log_min_duration_statements и pg_stat_statements широко используются в высоконагруженных production — потому что мониторинг того стоит, в общем. Что касается стоимости в плане производительности — дороже всего полное логирование (но, тем не менее, некоторых это не останавливает) и auto_explain, наверное.

Daniella-Starchenko Автор вопроса
Yaroslav Schekin
Всё подобное как-то снижает производительность, бе...

Спасибо за ответ. Попробовали реализовать. Почему в запросах к pg_stat_statements все констранты отражаются как $1? Это нормально или нужно что то исправить? Например, select * from table1 where col = 'aaa' отражается как select * from table1 where col = $1

Daniella Starchenko
Спасибо за ответ. Попробовали реализовать. Почему ...

Прямо из https://www.postgresql.org/docs/current/pgstatstatements.html : Plannable queries (that is, SELECT, INSERT, UPDATE, and DELETE) are combined into a single pg_stat_statements entry whenever they have identical query structures according to an internal hash calculation. Typically, two queries will be considered the same for this purpose if they are semantically equivalent except for the values of literal constants appearing in the query. Utility commands (that is, all other commands) are compared strictly on the basis of their textual query strings, however. When a constant's value has been ignored for purposes of matching the query to other queries, the constant is replaced by a parameter symbol, such as $1, in the pg_stat_statements display. The rest of the query text is that of the first query that had the particular queryid hash value associated with the pg_stat_statements entry.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
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
Карта сайта