auto_explain contrib moudle

Поиск
Список
Период
Сортировка
От ITAGAKI Takahiro
Тема auto_explain contrib moudle
Дата
Msg-id 20081009165157.9BE4.52131E4D@oss.ntt.co.jp
обсуждение исходный текст
Ответ на Re: Auto-explain patch  ("Alex Hunsaker" <badalex@gmail.com>)
Ответы Re: auto_explain contrib moudle  ("Alex Hunsaker" <badalex@gmail.com>)
Re: auto_explain contrib moudle  (Jeff Davis <pgsql@j-davis.com>)
Re: auto_explain contrib moudle  (Jeff Davis <pgsql@j-davis.com>)
Список pgsql-hackers
Thanks for your reviewing, Alex.
I applied your comments to my patch.

- auto_explain.patch : patch against HEAD
- auto_explain.tgz   : contrib module
- autoexplain.sgml   : documentation

"Alex Hunsaker" <badalex@gmail.com> wrote:

> *custom_guc_flags-0828.patch
> My only other concern is the changes to DefineCustom*() to tag the new
> flags param.  Now I think anyone who uses Custom gucs will want/should
> be able to set that. I did not see any people in contrib using it but
> did not look on PGfoundry.  Do we need to document the change
> somewhere for people who might be using it???

Now it is done with DefineCustomVariable(type, variable) and keep
existing functions as-is for backward compatibility.

Some people will be happy if the functions are documented,
but we need to define 'stable-internal-functions' between
SPI (stable expoted functions) and unstable internal functions.


> *psql_ignore_notices-0828.patch:
> I think this should get dropped.

Hmm, I agree that hiding all messages is not good. I removed it.
If some people need it, we can reconsider it in a separated discussion.


> *auto_explalin.c:
> init_instrument()
> The only "cleaner" way I can
> see is to add a hook for CreateQueryDesc so we can overload
> doInstrument and ExecInitNode will InstrAlloc them all for us.

I wanted to avoid modifying core codes as far as possible,
but I see it was ugly. Now I added 'force_instrument' global
variable as a hook for CreateQueryDesc.


> the only other comment I have is suset_assign() do we really need to
> be a superuser if its all going to LOG ? There was some concern about
> explaining security definer functions right? but surely a regular
> explain on those shows the same thing as this explain?  Or what am I
> missing?

Almost logging options in postgres are only for superusers. So I think
auto_explain options should not be modified by non-superusers, too.

If you want to permit usage for users, you can create a security definer
wrapper function to allow it, no?

  CREATE FUNCTION set_explain_log_min_duration(text) RETURNS text AS
    $$ SELECT set_config('explain.log_min_duration', $1, false); $$
  LANGUAGE sql SECURITY DEFINER;

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center



Вложения

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

Предыдущее
От: Hannu Krosing
Дата:
Сообщение: Re: trigger functions broken?
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: CREATE DATABASE vs delayed table unlink