Подскажите, пожалуйста, как сделать чтобы при вызове 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, имя функции, аргументы и при вызове функции в самой функции добавлял бы в эту таблицу строку, вот собственно и всё что могу вам предложить в качестве решения.