From: | Justin Pryzby <pryzby(at)telsasoft(dot)com> |
---|---|
To: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | copy.sgml and partitioned tables |
Date: | 2020-12-03 21:17:23 |
Message-ID: | 20201203211723.GR24052@telsasoft.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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."
diff --git a/doc/src/sgml/ref/copy.sgml b/doc/src/sgml/ref/copy.sgml
index 369342b74d..0631dfe6b3 100644
--- a/doc/src/sgml/ref/copy.sgml
+++ b/doc/src/sgml/ref/copy.sgml
@@ -414,9 +414,14 @@ COPY <replaceable class="parameter">count</replaceable>
<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.
+ views, and does not copy data from child tables or partitions.
+ 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,
+ partitioned table, or view.
</para>
<para>
@@ -425,16 +430,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
From | Date | Subject | |
---|---|---|---|
Next Message | Bossart, Nathan | 2020-12-03 21:18:07 | Re: please update ps display for recovery checkpoint |
Previous Message | Daniel Gustafsson | 2020-12-03 21:10:44 | Re: Renaming cryptohashes.c to cryptohashfuncs.c |