summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian2009-09-17 21:49:15 +0000
committerBruce Momjian2009-09-17 21:49:15 +0000
commit2aa5405e323ce29c03148d4f7f7ae0e1e7471112 (patch)
treeeb13462fd1648f3d7136a0d5e48daf1b0cb9b09a
parent20227781555cf6698ea6d1ad24ec6cc7b1aed15d (diff)
CSV NULL Documentation
Update docs to clearly explain NULL value matching behavior, per Andrew. Backpatch to 8.4.X.
-rw-r--r--doc/src/sgml/ref/copy.sgml11
1 files changed, 7 insertions, 4 deletions
diff --git a/doc/src/sgml/ref/copy.sgml b/doc/src/sgml/ref/copy.sgml
index a89f33eb5a..859b0f924d 100644
--- a/doc/src/sgml/ref/copy.sgml
+++ b/doc/src/sgml/ref/copy.sgml
@@ -550,10 +550,13 @@ 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 using
- quoting. A <literal>NULL</> is output as an empty string without
- quotes, while an empty string data value is double-quoted
- (<literal>""</>). Reading values follows similar rules. You can
+ <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
+ 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
comparisons for specific columns.
</para>