Re: Inserting heap tuples in bulk in COPY

Поиск
Список
Период
Сортировка
От Dean Rasheed
Тема Re: Inserting heap tuples in bulk in COPY
Дата
Msg-id CAEZATCU3CgZm1o471Yfjbx975pg+0Aob_En9hTUERuboQYUKrQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Inserting heap tuples in bulk in COPY  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Список pgsql-hackers
On 12 August 2011 23:19, Heikki Linnakangas
<heikki.linnakangas@enterprisedb.com> wrote:
>>> Triggers complicate this. I believe it is only safe to group tuples
>>> together
>>> like this if the table has no triggers. A BEFORE ROW trigger might run a
>>> SELECT on the table being copied to, and check if some of the tuples
>>> we're
>>> about to insert exist. If we run BEFORE ROW triggers for a bunch of
>>> tuples
>>> first, and only then insert them, none of the trigger invocations will
>>> see
>>> the other rows as inserted yet. Similarly, if we run AFTER ROW triggers
>>> after inserting a bunch of tuples, the trigger for each of the insertions
>>> would see all the inserted rows. So at least for now, the patch simply
>>> falls
>>> back to inserting one row at a time if there are any triggers on the
>>> table.

I guess DEFAULT values could also suffer from a similar problem to
BEFORE ROW triggers though (in theory a DEFAULT could be based on a
function that SELECTs from the table being copied to).

Regards,
Dean


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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: PL/Perl Returned Array
Следующее
От: Tom Lane
Дата:
Сообщение: Re: VACUUM FULL versus system catalog cache invalidation