diff --git a/doc/src/sgml/ref/delete.sgml b/doc/src/sgml/ref/delete.sgml
index 954391a228b0647fd300f18c2f4a6953bb581ef9..598936cd5acd07d3a2148b7713d434e767e3a216 100644
--- a/doc/src/sgml/ref/delete.sgml
+++ b/doc/src/sgml/ref/delete.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/delete.sgml,v 1.23 2005/04/07 01:51:37 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/delete.sgml,v 1.24 2005/04/08 00:59:58 neilc Exp $
 PostgreSQL documentation
 -->
 
@@ -148,12 +148,6 @@ DELETE FROM films
    In some cases the join style is easier to write or faster to
    execute than the sub-select style.
   </para>
-
-  <para>
-   If <varname>add_missing_from</varname> is enabled, any relations
-   mentioned in the <literal>WHERE</literal> condition will be
-   implicitly added to the <literal>USING</literal> clause.
-  </para>
  </refsect1>
 
  <refsect1>
diff --git a/doc/src/sgml/ref/select.sgml b/doc/src/sgml/ref/select.sgml
index 93218e16c2eac512cac1d12f9b053bedc1a104d6..9044adfa8c89f4f39aa2c95718d52c22b0290471 100644
--- a/doc/src/sgml/ref/select.sgml
+++ b/doc/src/sgml/ref/select.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/select.sgml,v 1.82 2005/03/10 23:21:20 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/select.sgml,v 1.83 2005/04/08 00:59:58 neilc Exp $
 PostgreSQL documentation
 -->
 
@@ -1011,42 +1011,21 @@ SELECT 2+2;
    </para>
 
    <para>
-    A less obvious use is to abbreviate a normal
-    <command>SELECT</command> from tables:
+    Note that if a <literal>FROM</literal> clause is not specified,
+    the query cannot reference any database tables. For example, the
+    following query is invalid:
 <programlisting>
 SELECT distributors.* WHERE distributors.name = 'Westward';
-
- did |   name
------+----------
- 108 | Westward
-</programlisting>
-    This works because an implicit <literal>FROM</literal> item is
-    added for each table that is referenced in other parts of the
-    <command>SELECT</command> statement but not mentioned in
-    <literal>FROM</literal>.
-   </para>
-
-   <para>
-    While this is a convenient shorthand, it's easy to misuse.  For
-    example, the command
-<programlisting>
-SELECT distributors.* FROM distributors d;
-</programlisting>
-    is probably a mistake; most likely the user meant
-<programlisting>
-SELECT d.* FROM distributors d;
-</programlisting>
-    rather than the unconstrained join
-<programlisting>
-SELECT distributors.* FROM distributors d, distributors distributors;
 </programlisting>
-    that he will actually get.  To help detect this sort of mistake,
-    <productname>PostgreSQL</productname> will warn if the
-    implicit-<literal>FROM</literal> feature is used in a
-    <command>SELECT</command> statement that also contains an explicit
-    <literal>FROM</literal> clause.  Also, it is possible to disable
-    the implicit-<literal>FROM</literal> feature by setting the
-    <xref linkend="guc-add-missing-from"> parameter to false.
+    <productname>PostgreSQL</productname> releases prior to
+    8.1 would accept queries of this form, and add an implicit entry
+    to the query's <literal>FROM</literal> clause for each table
+    referenced by the query. This is no longer the default behavior,
+    because it does not comply with the SQL standard, and is
+    considered by many to be error-prone. For compatibility with
+    applications that rely on this behavior the <xref
+    linkend="guc-add-missing-from"> configuration variable can be
+    enabled.
    </para>
   </refsect2>
 
diff --git a/doc/src/sgml/ref/show.sgml b/doc/src/sgml/ref/show.sgml
index 8fb07bc9e46b19f081f6d0ae073383fa207b6c3a..5fdfa2b4b06d6e8ccd3e7f43c419bf1eb67ff00c 100644
--- a/doc/src/sgml/ref/show.sgml
+++ b/doc/src/sgml/ref/show.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/show.sgml,v 1.37 2005/01/04 03:58:16 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/show.sgml,v 1.38 2005/04/08 00:59:58 neilc Exp $
 PostgreSQL documentation
 -->
 
@@ -166,7 +166,7 @@ SHOW geqo;
 SHOW ALL;
               name              |                     setting
 --------------------------------+----------------------------------------------
- add_missing_from               | on
+ add_missing_from               | off
  archive_command                | unset
  australian_timezones           | off
     .
diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml
index f019dbb4ae640297d83a6d17b194597046ad327a..e5567abf27927cfbe420fbb47fdfc2510861e190 100644
--- a/doc/src/sgml/runtime.sgml
+++ b/doc/src/sgml/runtime.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.312 2005/03/29 03:01:29 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.313 2005/04/08 00:59:57 neilc Exp $
 -->
 
 <chapter Id="runtime">
@@ -3553,15 +3553,25 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
       </indexterm>
       <listitem>
        <para>
-        When <literal>true</>, tables that are referenced by a query will be
-        automatically added to the <literal>FROM</> clause if not already
-        present.  The default is <literal>true</> for compatibility with
-        previous releases of <productname>PostgreSQL</>.  However, this
-        behavior is not SQL-standard, and many people dislike it because it
-        can mask mistakes (such as referencing a table where you should have
-        referenced its alias).  Set to <literal>false</> for the SQL-standard
-        behavior of rejecting references to tables that are not listed in
-        <literal>FROM</>.
+        When <literal>true</>, tables that are referenced by a query
+        will be automatically added to the <literal>FROM</> clause if
+        not already present. This behavior does not comply with the
+        SQL standard and many people dislike it because it can mask
+        mistakes (such as referencing a table where you should have
+        referenced its alias). The default is <literal>false</>. This
+        variable can be enabled for compatibility with releases of
+        <productname>PostgreSQL</> prior to 8.1, where this behavior
+        was allowed by default.
+       </para>
+
+       <para>
+        Note that even when this variable is enabled, a warning
+        message will be emitted for each implicit <literal>FROM</>
+        entry referenced by a query. Users are encouraged to update
+        their applications to not rely on this behavior, by adding all
+        tables referenced by a query to the query's <literal>FROM</>
+        clause (or its <literal>USING</> clause in the case of
+        <command>DELETE</>).
        </para>
       </listitem>
      </varlistentry>
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 1db12c23135f920e3b86b9010b354f848d636ee4..4658991e7341fa3d602e578bc21db6dbbfffa95e 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -10,7 +10,7 @@
  * Written by Peter Eisentraut <peter_e@gmx.net>.
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.257 2005/03/25 16:17:27 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.258 2005/04/08 00:59:59 neilc Exp $
  *
  *--------------------------------------------------------------------
  */
@@ -791,7 +791,7 @@ static struct config_bool ConfigureNamesBool[] =
 			NULL
 		},
 		&add_missing_from,
-		true, NULL, NULL
+		false, NULL, NULL
 	},
 	{
 		{"check_function_bodies", PGC_USERSET, CLIENT_CONN_STATEMENT,
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index 113021fd79f175b87cf154b18d9f286e11923e37..6b06afcb7fdb17187586c9a7fe9d61a6060a50ba 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -313,7 +313,7 @@
 
 # - Previous Postgres Versions -
 
-#add_missing_from = true
+#add_missing_from = false
 #regex_flavor = advanced	# advanced, extended, or basic
 #sql_inheritance = true
 #default_with_oids = false