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

From Dmitriy Igrishin
Subject Re: [pgsql-ru-general] Логирование ddl запросов функций
Date
Msg-id BANLkTin1Zy=xBB75EB2ixMKcLhRHrupy+Q@mail.gmail.com
Whole thread Raw
In response to Логирование ddl запросов функций  ("Galin, Aleksey" <algalin@mera.ru>)
List 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 by date:

Previous
From: "Galin, Aleksey"
Date:
Subject: Логирование ddl запросов функций
Next
From: "Galin, Aleksey"
Date:
Subject: определение ip пользователя