diff --git a/doc/src/sgml/ref/copy.sgml b/doc/src/sgml/ref/copy.sgml
index 1c87091dff1..83a51362c5b 100644
--- a/doc/src/sgml/ref/copy.sgml
+++ b/doc/src/sgml/ref/copy.sgml
@@ -1,5 +1,5 @@
@@ -77,7 +77,7 @@ COPY tablename [ ( tablename
- The name (possibly schema-qualified) of an existing table.
+ The name (optionally schema-qualified) of an existing table.
@@ -355,10 +355,16 @@ COPY tablename [ (
COPY TO will terminate each row with a Unix-style
- newline (\n>>), or carriage return/newline
- ("\r\n") for servers running MS Windows.
+ newline (\n>>). Servers running on MS Windows instead
+ output carriage return/newline (\r\n>>), but only for
+ COPY> to a server file; for consistency across platforms,
+ COPY TO STDOUT> always sends \n>>
+ regardless of server platform.
COPY FROM can handle lines ending with newlines,
- carriage returns, or carriage return/newlines.
+ carriage returns, or carriage return/newlines. To reduce the risk of
+ error due to un-backslashed newlines or carriage returns that were
+ meant as data, COPY FROM will complain if the line
+ endings in the input are not all alike.
@@ -476,9 +482,9 @@ to be specified.
To determine the appropriate binary format for the actual tuple data you
should consult the PostgreSQL source, in
particular the *send> and *recv> functions for
-the data type (typically found in the src/backend/utils/adt
-directory). The contrib/binarycopy module
-can also be used to create an appropriate format file.
+each column's data type (typically these functions are found in the
+src/backend/utils/adt/ directory of the source
+distribution).