diff --git a/doc/src/sgml/ref/discard.sgml b/doc/src/sgml/ref/discard.sgml
index 5b06a638c5..e859bf7bab 100644
--- a/doc/src/sgml/ref/discard.sgml
+++ b/doc/src/sgml/ref/discard.sgml
@@ -30,16 +30,10 @@ DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
DISCARD> releases internal resources associated with a
- database session. These resources are normally released at the end
- of the session.
-
-
-
- DISCARD TEMP> drops all temporary tables created in the
- current session. DISCARD PLANS> releases all internally
- cached query plans. DISCARD ALL> resets a session to
- its original state, discarding temporary resources and resetting
- session-local configuration changes.
+ database session. This command is useful for partially or fully
+ resetting the session's state. There are several subcommands to
+ release different types of resources; the DISCARD ALL>
+ variant subsumes all the others, and also resets additional state.
@@ -48,20 +42,12 @@ DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
-
- TEMPORARY or TEMP
-
-
- Drops all temporary tables created in the current session.
-
-
-
-
PLANS
- Releases all cached query plans.
+ Releases all cached query plans, forcing re-planning to occur
+ the next time the associated prepared statement is used.
@@ -70,7 +56,21 @@ DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
SEQUENCES
- Discards all cached sequence values.
+ Discards all cached sequence-related state,
+ including currval()>/lastval()>
+ information and any preallocated sequence values that have not
+ yet been returned by nextval()>.
+ (See for a description of
+ preallocated sequence values.)
+
+
+
+
+
+ TEMPORARY or TEMP
+
+
+ Drops all temporary tables created in the current session.
@@ -91,8 +91,8 @@ CLOSE ALL;
UNLISTEN *;
SELECT pg_advisory_unlock_all();
DISCARD PLANS;
-DISCARD TEMP;
DISCARD SEQUENCES;
+DISCARD TEMP;