Re: [pgsql-ru-general] Логирование ddl запросов функций

Поиск
Список
Период
Сортировка
От Dmitriy Igrishin
Тема Re: [pgsql-ru-general] Логирование ddl запросов функций
Дата
Msg-id BANLkTin1Zy=xBB75EB2ixMKcLhRHrupy+Q@mail.gmail.com
обсуждение исходный текст
Ответ на Логирование ddl запросов функций  ("Galin, Aleksey" <algalin@mera.ru>)
Список pgsql-ru-general
Приветствую,

10 июня 2011 г. 15:32 пользователь Galin, Aleksey <algalin@mera.ru> написал:

Здраствуйте.

 Я сотрудник компании Mera, и мы работаем с системой AS5300.

В данный период работу системы переводим на postgresql 8.4 и возникла такая ситуация, что запросы функций не логируются. В документации по параметру log_statement написано:

 «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.»

 Можно ли настроить систему так, чтобы выполнение запросов функций логировалось?

Что-то я сомневаюсь, что Вы используете документацию от 8.4. Там такого
утверждения нет (в 8.1 есть).
По существу же, сомневаюсь, что подобного протоколирования возможно
достичь путём настройки параметров, потому что отчётные сообщения
генерируются после синтаксического разбора выражения, что делается
лишь единожды для выражений в телах функций PL/pgSQL.
Чтобы не изменять исходный код функций, можно вызывать
команду DISCARD после каждого вызова функции, которая может очистить
все ранее подготовленные планы. Но так Вы лишитесь выгоды от
предподготовленных выражений.
 

__________

Best regards,

Alexey

 

 




--
// Dmitriy.


В списке pgsql-ru-general по дате отправления:

Предыдущее
От: "Galin, Aleksey"
Дата:
Сообщение: Логирование ddl запросов функций
Следующее
От: "Galin, Aleksey"
Дата:
Сообщение: определение ip пользователя