diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml
index c4f5ea138c..9ee71705f9 100644
--- a/doc/src/sgml/ref/create_table.sgml
+++ b/doc/src/sgml/ref/create_table.sgml
@@ -1,5 +1,5 @@
@@ -828,14 +828,14 @@ CREATE TABLE distributors (
Although the syntax of CREATE TEMPORARY TABLE
resembles that of SQL92, the effect is not the same. In the standard,
- temporary tables are associated with modules; a temporary table is created
- just once and automatically exists (starting with empty contents) in every
- session that uses the module.
- PostgreSQL does not have modules, and
+ temporary tables are defined just once and automatically exist (starting
+ with empty contents) in every session that needs them.
+ PostgreSQL instead
requires each session to issue its own CREATE TEMPORARY
- TABLE command for each temporary table to be used.
- The notion of GLOBAL temporary tables found in SQL92
- is not in PostgreSQL at all.
+ TABLE command for each temporary table to be used. This allows
+ different sessions to use the same temporary table name for different
+ purposes, whereas the spec's approach constrains all instances of a
+ given temporary table name to have the same table structure.
@@ -846,6 +846,13 @@ CREATE TABLE distributors (
+
+ SQL92's distinction between global and local temporary tables
+ is not in PostgreSQL, since that distinction
+ depends on the concept of modules, which
+ PostgreSQL does not have.
+
+
The ON COMMIT clause for temporary tables
also resembles SQL92, but has some differences.
@@ -853,7 +860,7 @@ CREATE TABLE distributors (
default behavior is ON COMMIT DELETE ROWS>. However, the
default behavior in PostgreSQL is
ON COMMIT PRESERVE ROWS. The ON COMMIT
- DROP option does not exist in SQL92 at all.
+ DROP option does not exist in SQL92.