diff options
-rw-r--r-- | doc/src/sgml/ref/copy.sgml | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/doc/src/sgml/ref/copy.sgml b/doc/src/sgml/ref/copy.sgml index 23a3ef0b9b6..e4513a3567c 100644 --- a/doc/src/sgml/ref/copy.sgml +++ b/doc/src/sgml/ref/copy.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/ref/copy.sgml,v 1.85.2.2 2009/09/17 21:49:22 momjian Exp $ +$PostgreSQL: pgsql/doc/src/sgml/ref/copy.sgml,v 1.85.2.3 2009/09/18 20:01:18 tgl Exp $ PostgreSQL documentation --> @@ -183,8 +183,8 @@ COPY { <replaceable class="parameter">tablename</replaceable> [ ( <replaceable c <listitem> <para> The string that represents a null value. The default is - <literal>\N</literal> (backslash-N) in text mode, and a empty - value with no quotes in <literal>CSV</> mode. You might prefer an + <literal>\N</literal> (backslash-N) in text mode, and an unquoted empty + string in <literal>CSV</> mode. You might prefer an empty string even in text mode for cases where you don't want to distinguish nulls from empty strings. </para> @@ -298,6 +298,10 @@ COPY <replaceable class="parameter">count</replaceable> somewhat faster than the normal text mode, but a binary-format file is less portable across machine architectures and <productname>PostgreSQL</productname> versions. + Also, the binary format is very data type specific; for example + it will not work to output binary data from a <type>smallint</> column + and read it into an <type>integer</> column, even though that would work + fine in text format. </para> <para> @@ -544,11 +548,11 @@ COPY <replaceable class="parameter">count</replaceable> <para> The <literal>CSV</> format has no standard way to distinguish a <literal>NULL</> value from an empty string. - <productname>PostgreSQL</>'s <command>COPY</> handles this by - quoting. A <literal>NULL</> is output as the <literal>NULL</> - parameter and is not quoted, while a non-NULL value matching the - the <literal>NULL</> parameter string is quoted. Therefore, using the default - settings, a <literal>NULL</> is written as an unquoted empty + <productname>PostgreSQL</>'s <command>COPY</> handles this by quoting. + A <literal>NULL</> is output as the <literal>NULL</> parameter string + and is not quoted, while a non-<literal>NULL</> value matching the + <literal>NULL</> parameter string is quoted. For example, with the + default settings, a <literal>NULL</> is written as an unquoted empty string, while an empty string data value is written with double quotes (<literal>""</>). Reading values follows similar rules. You can use <literal>FORCE NOT NULL</> to prevent <literal>NULL</> input |