@DDwrt100

Возможно сохранить копию запроса с определенной таблицы?

UPD Добрый день, в разрабатываемой системе нашли баг. При использовании метода бизнес логики пару таблиц в базе данных не правильно изменили свое состояние. Пока что это единичный случай, но что вызвало такое поведение до конца не понятно. При этом в логах системы все чисто. Для лучшего понимания картины, хотелось бы отловить запросы к таблице, и сравнить с временными метками в приложении. Вариант с включением общего логирования , считаю не очень хорошим, так как туда сыпяться все запросы к базе, плюс надо рестартить базу чтобы они заработали.
Вопрос, возможно ли как то с помощью тригерной функции вытащить изменения таблиц ? Желательно в обрамлении запроса. Или есть какие то другие механизмы. Чем мне нравятся тригерные функции, их можно навесить на определнную таблицу, и они не требуют перезагрузки инстанса.
  • Вопрос задан
  • 45 просмотров
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
плюс надо рестартить базу чтобы они заработали

С чего вы так решили?

В момент выполенния запроса от текста запроса уже ничего не остается, он распаршен.

Да щас. Заботливо хранится, т.к. может потребоваться для того же логирования.

Выполняющийся в данный момент запрос клиента можно достать откуда угодно (в том числе из триггера) вызовом current_query().
Конкретную таблицу логировать удобнее да, триггером.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы