diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index 49ad740a4c3..803fc503a64 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -88,8 +88,8 @@ PostgreSQL documentation
or a single backslash command. Thus you cannot mix
SQL and psql
meta-commands with this option. To achieve that, you could
- pipe the string into psql, like
- this: echo '\x \\ SELECT * FROM foo;' | psql.
+ pipe the string into psql, for example:
+ echo '\x \\ SELECT * FROM foo;' | psql.
(\\> is the separator meta-command.)
@@ -98,7 +98,21 @@ PostgreSQL documentation
BEGIN>/COMMIT> commands included in the
string to divide it into multiple transactions. This is
different from the behavior when the same string is fed to
- psql's standard input.
+ psql's standard input. Also, only
+ the result of the last SQL command is returned.
+
+
+ Because of these legacy behaviors, putting more than one command in
+ the string often has unexpected results. It's
+ better to feed multiple commands to psql's
+ standard input, either using echo as
+ illustrated above, or via a shell here-document, for example:
+
+psql <<EOF
+\x
+SELECT * FROM foo;
+EOF
+