Re: Parallel INSERT (INTO ... SELECT ...)

Поиск
Список
Период
Сортировка
От Greg Nancarrow
Тема Re: Parallel INSERT (INTO ... SELECT ...)
Дата
Msg-id CAJcOf-e3OXoJab27DrTXt5FHKyBtuPPWRxbsCaO2cxJLkGu91g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Parallel INSERT (INTO ... SELECT ...)  (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>)
Ответы Re: Parallel INSERT (INTO ... SELECT ...)  (Greg Nancarrow <gregn4422@gmail.com>)
Список pgsql-hackers
On Wed, Oct 7, 2020 at 12:40 AM Bharath Rupireddy
<bharath.rupireddyforpostgres@gmail.com> wrote:
> In parallel, we are not doing anything(due to the same reason
> explained in above comment) to find whether there is a foreign
> partition or not while deciding to go with parallel/non-parallel copy,
> we are just throwing an error during the first tuple insertion into
> the partition.
>
> errmsg("cannot perform PARALLEL COPY if partition has BEFORE/INSTEAD
> OF triggers, or if the partition is foreign partition"),
>                             errhint("Try COPY without PARALLEL option")));
>

I'm wondering whether code similar to the following can safely be used
to detect a foreign partition:

    if (rel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE)
    {
        int i;
        PartitionDesc pd = RelationGetPartitionDesc(rel);
        for (i = 0; i < pd->nparts; i++)
        {
            if (get_rel_relkind(pd->oids[i]) == RELKIND_FOREIGN_TABLE)
            {
                table_close(rel, NoLock);
                return false;
            }
        }
    }

Thoughts?

Regards,
Greg Nancarrow
Fujitsu Australia



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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: [patch] Fix checksum verification in base backups for zero page headers
Следующее
От: Andy Fan
Дата:
Сообщение: Re: Improve choose_custom_plan for initial partition prune case