Как «назвать» запрос в postgres - PullRequest
10 голосов
/ 05 февраля 2009

В postgresql запрос в журнале запросов выглядит примерно так:

2009-02-05 00:12:27 CET LOG:  duration: 3781.634 ms  execute <unnamed>: SELECT QUERY ....

Есть ли возможность поместить что-то более полезное в "<неназванный>", размещенный как URL, из которого был запрошен запрос?

Существуют ли другие возможности для отслеживания происхождения запроса в postgresql с использованием jdbc из java?

Спасибо

1 Ответ

6 голосов
/ 05 февраля 2009

Краткий ответ "нет"

Имя можно задать при подготовке оператора, используя команду PREPARE , но для этого требуется переписать весь ваш SQL. Невозможно просто добавить параметр имени в ваши методы JDBC.

Драйвер JDBC использует как именованные, так и безымянные подготовленные операторы. Он даст им имя, когда захочет их повторно использовать, что он сочтет целесообразным, если один и тот же объект PreparedStatement будет выполнен 5 раз (хотя это можно настроить с помощью параметра prepareThreshold).

Документация здесь

Дополнительную информацию можно также найти в списке рассылки PostgreSQL JDBC

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...