Re: COPY manual is ambiguous about column list
Bruce Momjian <[email protected]> Thu, 19 Dec 2019 11:53:40 -0500
| Newsgroups | gmane.comp.db.postgresql.devel.documentation |
|---|---|
| Message-ID | <[email protected]> |
--pWyiEgJYm5f9v55/ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Thu, Nov 28, 2019 at 02:53:03PM +0100, Pavlo Golub wrote: > On Thu, 28 Nov 2019 at 10:47, Laurenz Albe <[email protected]> wrote: > > > > On Wed, 2019-11-27 at 17:54 +0000, PG Doc comments form wrote: > > > "If a list of columns is specified, COPY will only copy the data in the > > > specified columns to or from the file. If there are any columns in the table > > > that are not in the column list, COPY FROM will insert the default values > > > for those columns." > > > > > > I clearly see "to or from" file here. But if one tries to COPY FROM filename > > > with more columns than list specified, the process fails: > > > > I think you misunderstood the documentation. > > Yeap, I did. Even two of us. Laetitia was helping me :) > > > > > Nowhere in that sentence is the documentation talking about columns in > > the file, only columns in the table. > > > > But if you got it wrong, maybe a clarification would be a good idea. > > I think it better to have more details to avoid confusion. How is the attached patch? -- Bruce Momjian <[email protected]> http://momjian.us EnterpriseDB http://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription + --pWyiEgJYm5f9v55/ Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="copy.diff" diff --git a/doc/src/sgml/ref/copy.sgml b/doc/src/sgml/ref/copy.sgml new file mode 100644 index d9b7c4d..475d40c *** a/doc/src/sgml/ref/copy.sgml --- b/doc/src/sgml/ref/copy.sgml *************** COPY { <replaceable class="parameter">ta *** 63,71 **** <para> If a list of columns is specified, <command>COPY</command> will only copy the data in the specified columns to or from the file. ! If there are any columns in the table that are not in the column list, ! <command>COPY FROM</command> will insert the default values for ! those columns. </para> <para> --- 63,72 ---- <para> If a list of columns is specified, <command>COPY</command> will only copy the data in the specified columns to or from the file. ! In <command>COPY FROM</command>, the number of columns specified ! must match the number of fields in the file; any table columns not ! specified in the <command>COPY FROM</command> column list will insert ! their default values. </para> <para> --pWyiEgJYm5f9v55/--