From: Bruce Momjian <bruce@momjian.us>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: pgsql-hackers@lists.postgresql.org
Subject: Re: copy.sgml and partitioned tables
Date: Tue, 15 Dec 2020 19:20:59 -0500
Message-ID: <20201216002059.GD14807@momjian.us> (raw)
In-Reply-To: <20201203211723.GR24052@telsasoft.com>
References: <20201203211723.GR24052@telsasoft.com>
On Thu, Dec 3, 2020 at 03:17:23PM -0600, Justin Pryzby wrote:
> https://www.postgresql.org/docs/current/sql-copy.html
> |. COPY FROM can be used with plain, foreign, or partitioned tables or with views that have INSTEAD OF INSERT triggers.
> |. COPY only deals with the specific table named; IT DOES NOT COPY DATA TO OR FROM CHILD TABLES. ...
>
> That language in commit 854b5eb51 was never updated since partitioning was
> added, so I propose this.
>
> I'm not sure, but maybe it should still say that "COPY TO does not copy data to
> child tables of inheritance hierarchies."
I reworded it slightly, attached, and applied it back to PG 10, where we
added the partition syntax.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EnterpriseDB https://enterprisedb.com
The usefulness of a cup is in its emptiness, Bruce Lee
Attachments:master.diff (text/x-diff, 1.9K) downloaddiff --git a/doc/src/sgml/ref/copy.sgml b/doc/src/sgml/ref/copy.sgmlindex 369342b74d..0fca6583af 100644--- a/doc/src/sgml/ref/copy.sgml+++ b/doc/src/sgml/ref/copy.sgml@@ -413,10 +413,16 @@ COPY <replaceable class="parameter">count</replaceable>
<title>Notes</title>
<para>
- <command>COPY TO</command> can only be used with plain tables, not- with views. However, you can write <literal>COPY (SELECT * FROM- <replaceable class="parameter">viewname</replaceable>) TO ...</literal>- to copy the current contents of a view.+ <command>COPY TO</command> can be used only with plain+ tables, not views, and does not copy rows from child tables+ or child partitions. For example, <literal>COPY <replaceable+ class="parameter">table</replaceable> TO</literal> copies+ the same rows as <literal>SELECT * FROM ONLY <replaceable+ class="parameter">table</replaceable></literal>.+ The syntax <literal>COPY (SELECT * FROM <replaceable+ class="parameter">table</replaceable>) TO ...</literal> can be used to+ dump all of the rows in an inheritance hierarchy, partitioned table,+ or view.
</para>
<para>
@@ -425,16 +431,6 @@ COPY <replaceable class="parameter">count</replaceable>
<literal>INSTEAD OF INSERT</literal> triggers.
</para>
- <para>- <command>COPY</command> only deals with the specific table named;- it does not copy data to or from child tables. Thus for example- <literal>COPY <replaceable class="parameter">table</replaceable> TO</literal>- shows the same data as <literal>SELECT * FROM ONLY <replaceable- class="parameter">table</replaceable></literal>. But <literal>COPY- (SELECT * FROM <replaceable class="parameter">table</replaceable>) TO ...</literal>- can be used to dump all of the data in an inheritance hierarchy.- </para>-
<para>
You must have select privilege on the table
whose values are read by <command>COPY TO</command>, and
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: bruce@momjian.us, pryzby@telsasoft.com, pgsql-hackers@lists.postgresql.org
Subject: Re: copy.sgml and partitioned tables
In-Reply-To: <20201216002059.GD14807@momjian.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox