Re: speedup COPY TO for partitioned table. - Mailing list pgsql-hackers

From jian he
Subject Re: speedup COPY TO for partitioned table.
Date
Msg-id CACJufxEnPoYoHG+=-+L65RZZEPGs_QnmMSxrYVTuopfq7+-YiA@mail.gmail.com
Whole thread Raw
In response to Re: speedup COPY TO for partitioned table.  (torikoshia <torikoshia@oss.nttdata.com>)
List pgsql-hackers
On Mon, Jul 28, 2025 at 9:22 AM torikoshia <torikoshia@oss.nttdata.com> wrote:
>
> I think the behavior for materialized views can be described along with
> that for partitioned tables. For example:
>
>       <command>COPY TO</command> can be used with plain
>       tables, populated materialized views and partitioned tables.
>       For example, if <replaceable class="parameter">table</replaceable>
> is a plain table,
>       <literal>COPY <replaceable class="parameter">table</replaceable>
>       TO</literal> copies the same rows as
>       <literal>SELECT * FROM ONLY <replaceable
> class="parameter">table</replaceable></literal>.
>
>       If <replaceable class="parameter">table</replaceable> is a
> partitioned table or a materialized view,
>       <literal>COPY <replaceable class="parameter">table</replaceable>
> TO</literal>
>       copies the same rows as <literal>SELECT * FROM <replaceable
> class="parameter">table</replaceable></literal>.
>
Your description seems ok to me.
Let's see if anyone else has a different take.

>   +   List       *children = NIL;
>   ...
>   +       {
>   +           children = find_all_inheritors(RelationGetRelid(rel),
>
> Since 'children' is only used inside the else if block, I think we don't
> need the separate "List *children = NIL;" declaration.
> Instead, it could just be  "List *children = find_all_inheritors(...)".
>
you are right.
""List *children = find_all_inheritors(...)"."  should be ok.



pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: Broken ./configure checks for __cpuid() and __cpuidex()
Next
From: Ashutosh Bapat
Date:
Subject: Re: Compilation error with buildtype = release