Лигирование пользовательских функций

Подскажите, пожалуйста, как сделать чтобы при вызове ddl пользовательских функций информация об этом логировалась?
Т.е. если я выполняю ddl запрос пуками информация об этом заносится в лог, но если выполнить подобный запрос в функции в логе это не отобразится.

В документации сказано:
When a function is defined in the PL/pgSQLserver-side language, any queries executed by the function will only be logged the first time that the function is invoked in a particular session. This is because PL/pgSQL keeps a cache of the query plans produced for the SQL statements in the function.

т.е. PL/pgSQL кэширует запросы в функции, можно ли это изменить?!

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Видел я ваш вопрос и здесь и

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

Если бы мне нужно было логгирование вызовов функций, я бы создал в БД таблицу для целей логгирования с полями TIMESTAMP, имя функции, аргументы и при вызове функции в самой функции добавлял бы в эту таблицу строку, вот собственно и всё что могу вам предложить в качестве решения.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023