Re: ALTER TABLE ... NOREWRITE option

Поиск
Список
Период
Сортировка
От Dimitri Fontaine
Тема Re: ALTER TABLE ... NOREWRITE option
Дата
Msg-id m28v9ccdx5.fsf@2ndQuadrant.fr
обсуждение исходный текст
Ответ на Re: ALTER TABLE ... NOREWRITE option  (Simon Riggs <simon@2ndQuadrant.com>)
Ответы Re: ALTER TABLE ... NOREWRITE option
Список pgsql-hackers
Simon Riggs <simon@2ndQuadrant.com> writes:
> On 5 December 2012 22:21, Dimitri Fontaine <dimitri@2ndquadrant.fr> wrote:
>> Simon Riggs <simon@2ndQuadrant.com> writes:
>>>> CREATE EVENT TRIGGER my_event_trigger
>>>>     ON table_rewrite
>>>>     EXECUTE PROCEDURE consider_whether_to_throw_an_error();
>>>
>>> +1, I was just thinking that myself.
>>
>> +1, and I think that can happen for 9.3, as soon as we agree on the list
>> of code points where we want that event to fire. ALTER TABLE variants
>> that are rewriting the heap, sure. CLUSTER? VACUUM FULL? TRUNCATE?
>
> Events needed
> * Table rewrite
> * Index rebuild
> * Relation scan (index/table/toast etc)
> * AccessExclusiveLock

For each of those events we need to find the exact code location from
where to call the registered user defined function, if any. I would like
us to at least devise which commands are going to fire the events here.
 Table Rewrite:  ALTER TABLE, CLUSTER, VACUUM… ? Index Rebuild:  ALTER TABLE, REINDEX, CLUSTER, VACUUM FULL… ?
 Relation scan:  SELECT, ALTER TABLE … ADD CHECK …, etc
                 maybe targeting index/seq scan from the executor code                 directly would be enough in that
case?I'm not sure I                 can call into src/backend/commands/event_trigger.c                 from anywhere in
theexecutor though, I need advice 

AccessExclusiveLock on a relation when taken by *any* command? before
the lock is taken I suppose…

Regards,
--
Dimitri Fontaine                                        06 63 07 10 78
http://2ndQuadrant.fr     PostgreSQL : Expertise, Formation et Support



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

Предыдущее
От: Dimitri Fontaine
Дата:
Сообщение: Re: Dumping an Extension's Script
Следующее
От: Andres Freund
Дата:
Сообщение: Re: ALTER TABLE ... NOREWRITE option