diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml
index 3794aa2f7869a0e13ccece8fa41275a063f9a760..5ca2ab2f61bbad47d225dd92b016f8a27704daf5 100644
--- a/doc/src/sgml/datatype.sgml
+++ b/doc/src/sgml/datatype.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.155 2005/01/22 22:56:35 momjian Exp $
+$PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.156 2005/03/13 09:36:30 neilc Exp $
 -->
 
  <chapter id="datatype">
@@ -2980,12 +2980,12 @@ SELECT * FROM test;
    <para>
     Object identifiers (OIDs) are used internally by
     <productname>PostgreSQL</productname> as primary keys for various
-    system tables.  An OID system column is also added to user-created
-    tables, unless <literal>WITHOUT OIDS</literal> is specified when
-    the table is created, or the <xref linkend="guc-default-with-oids">
-    configuration variable is set to false.  Type <type>oid</>
-    represents an object identifier.  There are also several alias
-    types for <type>oid</>: <type>regproc</>, <type>regprocedure</>,
+    system tables.  OIDs are not added to user-created tables, unless
+    <literal>WITH OIDS</literal> is specified when the table is
+    created, or the <xref linkend="guc-default-with-oids">
+    configuration variable is enabled.  Type <type>oid</> represents
+    an object identifier.  There are also several alias types for
+    <type>oid</>: <type>regproc</>, <type>regprocedure</>,
     <type>regoper</>, <type>regoperator</>, <type>regclass</>, and
     <type>regtype</>. <xref linkend="datatype-oid-table"> shows an
     overview.
@@ -3000,28 +3000,11 @@ SELECT * FROM test;
     references to system tables.
    </para>
 
-   <note>
-    <para>
-     OIDs are included by default in user-created tables in
-     <productname>PostgreSQL</productname> &version;. However, this
-     behavior is likely to change in a future version of
-     <productname>PostgreSQL</productname>. Eventually, user-created
-     tables will not include an OID system column unless <literal>WITH
-     OIDS</literal> is specified when the table is created, or the
-     <varname>default_with_oids</varname> configuration variable is set
-     to true. If your application requires the presence of an OID
-     system column in a table, it should specify <literal>WITH
-     OIDS</literal> when that table is created to ensure compatibility
-     with future releases of <productname>PostgreSQL</productname>.
-    </para>
-   </note>
-
    <para>
     The <type>oid</> type itself has few operations beyond comparison.
-    It can be cast to
-    integer, however, and then manipulated using the standard integer
-    operators.  (Beware of possible signed-versus-unsigned confusion
-    if you do this.)
+    It can be cast to integer, however, and then manipulated using the
+    standard integer operators.  (Beware of possible
+    signed-versus-unsigned confusion if you do this.)
    </para>
 
    <para>
diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
index 2de8888254fda55cad4101c87d601bc054141716..b0d413bbea81ecfaef44dda80c27897cfa31e5c5 100644
--- a/doc/src/sgml/ddl.sgml
+++ b/doc/src/sgml/ddl.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/ddl.sgml,v 1.39 2005/01/22 22:56:35 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/ddl.sgml,v 1.40 2005/03/13 09:36:30 neilc Exp $ -->
 
 <chapter id="ddl">
  <title>Data Definition</title>
@@ -868,11 +868,10 @@ CREATE TABLE order_items (
        <primary>OID</primary>
        <secondary>column</secondary>
       </indexterm>
-      The object identifier (object ID) of a row.  This is a serial
-      number that is automatically added by
-      <productname>PostgreSQL</productname> to all table rows (unless
-      the table was created using <literal>WITHOUT OIDS</literal>, in which
-      case this column is not present).  This column is of type
+      The object identifier (object ID) of a row. This column is only
+      present if the table was created using <literal>WITH
+      OIDS</literal>, or if the <xref linkend="guc-default-with-oids">
+      configuration variable was enabled. This column is of type
       <type>oid</type> (same name as the column); see <xref
       linkend="datatype-oid"> for more information about the type.
      </para>
diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml
index 6284b793b0c5c4a4b35fb5b5c81ffd56a07b9443..77924fd569803615c76c60364d6be693032bb1da 100644
--- a/doc/src/sgml/plpgsql.sgml
+++ b/doc/src/sgml/plpgsql.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/plpgsql.sgml,v 1.61 2005/02/14 00:54:26 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/plpgsql.sgml,v 1.62 2005/03/13 09:36:30 neilc Exp $
 -->
 
 <chapter id="plpgsql"> 
@@ -1299,7 +1299,8 @@ GET DIAGNOSTICS <replaceable>variable</replaceable> = <replaceable>item</replace
      the <acronym>SQL</acronym> engine, and <varname>RESULT_OID</>,
      the OID of the last row inserted by the most recent
      <acronym>SQL</acronym> command.  Note that <varname>RESULT_OID</>
-     is only useful after an <command>INSERT</command> command.
+     is only useful after an <command>INSERT</command> command into a
+     table containing OIDs.
     </para>
 
     <para>
diff --git a/doc/src/sgml/pltcl.sgml b/doc/src/sgml/pltcl.sgml
index 1d22035fa9b8dfa242c60bb5befae46df61fba0c..7cb60a3c581f5d934a9d1695d800d8a9d2bcd725 100644
--- a/doc/src/sgml/pltcl.sgml
+++ b/doc/src/sgml/pltcl.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/pltcl.sgml,v 2.34 2005/01/22 22:56:36 momjian Exp $
+$PostgreSQL: pgsql/doc/src/sgml/pltcl.sgml,v 2.35 2005/03/13 09:36:30 neilc Exp $
 -->
 
  <chapter id="pltcl">
@@ -400,8 +400,9 @@ $$ LANGUAGE pltcl;
       <listitem>
        <para>
         Returns the OID of the row inserted by the last
-        <function>spi_exec</> or <function>spi_execp</>,
-        if the command was a single-row <command>INSERT</>.  (If not, you get zero.)
+        <function>spi_exec</> or <function>spi_execp</>, if the
+        command was a single-row <command>INSERT</> and the modified
+        table contained OIDs.  (If not, you get zero.)
        </para>
       </listitem>
      </varlistentry>
diff --git a/doc/src/sgml/ref/select_into.sgml b/doc/src/sgml/ref/select_into.sgml
index 11389d190b4224a2280f2f49469b5006fa439e7c..9198a02e4c424747a345823d19e7b7bf7e0d7fd9 100644
--- a/doc/src/sgml/ref/select_into.sgml
+++ b/doc/src/sgml/ref/select_into.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/select_into.sgml,v 1.33 2005/01/09 05:57:45 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/select_into.sgml,v 1.34 2005/03/13 09:36:31 neilc Exp $
 PostgreSQL documentation
 -->
 
@@ -94,14 +94,13 @@ SELECT [ ALL | DISTINCT [ ON ( <replaceable class="PARAMETER">expression</replac
   </para>
 
   <para>
-   Prior to <productname>PostgreSQL</> 8.0, the table created by
-   <command>SELECT INTO</command> always included OIDs.
-   As of <productname>PostgreSQL</> 8.0, the
-   inclusion of OIDs in the table created by <command>SELECT
-   INTO</command> is controlled by the
-   <xref linkend="guc-default-with-oids"> configuration variable. This
-   variable currently defaults to true, but will likely default to
-   false in a future release of <productname>PostgreSQL</>.
+   Prior to <productname>PostgreSQL</> 8.1, the table created by
+   <command>SELECT INTO</command> included OIDs by default. In
+   <productname>PostgreSQL</productname> 8.1, this is not the case
+   &mdash; to include OIDs in the new table, the <xref
+   linkend="guc-default-with-oids"> configuration variable must be
+   enabled. Alternatively, <command>CREATE TABLE AS</command> can be
+   used with the <literal>WITH OIDS</literal> clause.
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml
index 5ba8b9b2b3c992a19bd2b36c2f3ef9e79cc9d2d5..3517dd58d073ac4724632e11bdf56bcadf30425c 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.307 2005/03/04 20:21:05 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.308 2005/03/13 09:36:30 neilc Exp $
 -->
 
 <chapter Id="runtime">
@@ -3587,23 +3587,18 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
         newly-created tables, if neither <literal>WITH OIDS</literal>
         nor <literal>WITHOUT OIDS</literal> is specified. It also
         determines whether OIDs will be included in tables created by
-        <command>SELECT INTO</command>. In
-        <productname>PostgreSQL</productname> &version;
-        <varname>default_with_oids</varname> defaults to true. This is
-        also the behavior of previous versions of
-        <productname>PostgreSQL</productname>. However, assuming that
-        tables will contain OIDs by default is not encouraged. This
-        option will probably default to false in a future release of
-        <productname>PostgreSQL</productname>.
-       </para>
-
-       <para>
-        To ease compatibility with applications that make use of OIDs,
-        this option should left enabled. To ease compatibility with
-        future versions of <productname>PostgreSQL</productname>, this
-        option should be disabled, and applications that require OIDs
-        on certain tables should explicitly specify <literal>WITH
-        OIDS</literal> when those tables are created.
+        <command>SELECT INTO</command>. In <productname>PostgreSQL</>
+        8.1 <varname>default_with_oids</> is disabled by default; in
+        prior versions of PostgreSQL, it was true by default.
+       </para>
+
+       <para>
+        The use of OIDs in user tables is considered deprecated, so
+        most installations should leave this variable disabled.
+        Applications that require OIDs for a particular table should
+        specify <literal>WITH OIDS</literal> when creating the
+        table. This variable can be enabled for compatibility with old
+        applications that do not follow this behavior.
        </para>
       </listitem>
      </varlistentry>
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index b9486e866383f7d907de0b9aa5956ee7056cdd3d..67374a4b61f1c0d68be0d6a4ea7181b58c322e98 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.254 2005/03/04 20:21:06 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.255 2005/03/13 09:36:31 neilc Exp $
  *
  *--------------------------------------------------------------------
  */
@@ -139,7 +139,7 @@ bool		Australian_timezones = false;
 
 bool		Password_encryption = true;
 
-bool		default_with_oids = true;
+bool		default_with_oids = false;
 
 int			log_min_error_statement = PANIC;
 int			log_min_messages = NOTICE;
@@ -801,11 +801,11 @@ static struct config_bool ConfigureNamesBool[] =
 	},
 	{
 		{"default_with_oids", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
-			gettext_noop("By default, newly-created tables should have OIDs."),
+			gettext_noop("Create new tables with OIDs by default."),
 			NULL
 		},
 		&default_with_oids,
-		true, NULL, NULL
+		false, NULL, NULL
 	},
 	{
 		{"redirect_stderr", PGC_POSTMASTER, LOGGING_WHERE,
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index 74a029e65744f5e7536ca9474aebae48a66838c2..070d1e7632eecfd2242293f55b7f09fc80232d71 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -314,7 +314,7 @@
 #add_missing_from = true
 #regex_flavor = advanced	# advanced, extended, or basic
 #sql_inheritance = true
-#default_with_oids = true
+#default_with_oids = false
 
 # - Other Platforms & Clients -