Thread: default to WITHOUT OIDS

default to WITHOUT OIDS

From
Neil Conway
Date:
This patch makes default_with_oids disabled by default, per earlier
discussion, and updates the documentation accordingly. I might have
missed a few spots in the documentation that implicitly assume that OIDs
are present in user tables by default, but I think I got most of them.

Barring any objections, I'll apply this on Monday.

-Neil
Index: doc/src/sgml/datatype.sgml
===================================================================
RCS file: /var/lib/cvs/pgsql/doc/src/sgml/datatype.sgml,v
retrieving revision 1.155
diff -c -r1.155 datatype.sgml
*** doc/src/sgml/datatype.sgml    22 Jan 2005 22:56:35 -0000    1.155
--- doc/src/sgml/datatype.sgml    11 Mar 2005 05:35:45 -0000
***************
*** 2980,2989 ****
     <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</>,
      <type>regoper</>, <type>regoperator</>, <type>regclass</>, and
--- 2980,2989 ----
     <para>
      Object identifiers (OIDs) are used internally by
      <productname>PostgreSQL</productname> as primary keys for various
!     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 set to true.  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
***************
*** 3000,3027 ****
      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.)
     </para>

     <para>
--- 3000,3010 ----
      references to system tables.
     </para>

     <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.)
     </para>

     <para>
Index: doc/src/sgml/ddl.sgml
===================================================================
RCS file: /var/lib/cvs/pgsql/doc/src/sgml/ddl.sgml,v
retrieving revision 1.39
diff -c -r1.39 ddl.sgml
*** doc/src/sgml/ddl.sgml    22 Jan 2005 22:56:35 -0000    1.39
--- doc/src/sgml/ddl.sgml    11 Mar 2005 05:41:25 -0000
***************
*** 868,878 ****
         <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
        <type>oid</type> (same name as the column); see <xref
        linkend="datatype-oid"> for more information about the type.
       </para>
--- 868,877 ----
         <primary>OID</primary>
         <secondary>column</secondary>
        </indexterm>
!       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>
Index: doc/src/sgml/plpgsql.sgml
===================================================================
RCS file: /var/lib/cvs/pgsql/doc/src/sgml/plpgsql.sgml,v
retrieving revision 1.61
diff -c -r1.61 plpgsql.sgml
*** doc/src/sgml/plpgsql.sgml    14 Feb 2005 00:54:26 -0000    1.61
--- doc/src/sgml/plpgsql.sgml    11 Mar 2005 05:47:32 -0000
***************
*** 1299,1305 ****
       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.
      </para>

      <para>
--- 1299,1306 ----
       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 into a
!      table containing OIDs.
      </para>

      <para>
Index: doc/src/sgml/pltcl.sgml
===================================================================
RCS file: /var/lib/cvs/pgsql/doc/src/sgml/pltcl.sgml,v
retrieving revision 2.34
diff -c -r2.34 pltcl.sgml
*** doc/src/sgml/pltcl.sgml    22 Jan 2005 22:56:36 -0000    2.34
--- doc/src/sgml/pltcl.sgml    11 Mar 2005 05:48:06 -0000
***************
*** 401,407 ****
         <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.)
         </para>
        </listitem>
       </varlistentry>
--- 401,408 ----
         <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</> and
!         modified table contained OIDs.  (If not, you get zero.)
         </para>
        </listitem>
       </varlistentry>
Index: doc/src/sgml/runtime.sgml
===================================================================
RCS file: /var/lib/cvs/pgsql/doc/src/sgml/runtime.sgml,v
retrieving revision 1.307
diff -c -r1.307 runtime.sgml
*** doc/src/sgml/runtime.sgml    4 Mar 2005 20:21:05 -0000    1.307
--- doc/src/sgml/runtime.sgml    11 Mar 2005 05:20:38 -0000
***************
*** 3587,3609 ****
          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.
         </para>
        </listitem>
       </varlistentry>
--- 3587,3604 ----
          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</>
!         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>
Index: doc/src/sgml/ref/select_into.sgml
===================================================================
RCS file: /var/lib/cvs/pgsql/doc/src/sgml/ref/select_into.sgml,v
retrieving revision 1.33
diff -c -r1.33 select_into.sgml
*** doc/src/sgml/ref/select_into.sgml    9 Jan 2005 05:57:45 -0000    1.33
--- doc/src/sgml/ref/select_into.sgml    11 Mar 2005 05:52:25 -0000
***************
*** 94,107 ****
    </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</>.
    </para>
   </refsect1>

--- 94,106 ----
    </para>

    <para>
!    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
!    — to include OIDs in the created 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>

Index: src/backend/utils/misc/guc.c
===================================================================
RCS file: /var/lib/cvs/pgsql/src/backend/utils/misc/guc.c,v
retrieving revision 1.254
diff -c -r1.254 guc.c
*** src/backend/utils/misc/guc.c    4 Mar 2005 20:21:06 -0000    1.254
--- src/backend/utils/misc/guc.c    11 Mar 2005 04:36:43 -0000
***************
*** 139,145 ****

  bool        Password_encryption = true;

! bool        default_with_oids = true;

  int            log_min_error_statement = PANIC;
  int            log_min_messages = NOTICE;
--- 139,145 ----

  bool        Password_encryption = true;

! bool        default_with_oids = false;

  int            log_min_error_statement = PANIC;
  int            log_min_messages = NOTICE;
***************
*** 801,811 ****
      },
      {
          {"default_with_oids", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
!             gettext_noop("By default, newly-created tables should have OIDs."),
              NULL
          },
          &default_with_oids,
!         true, NULL, NULL
      },
      {
          {"redirect_stderr", PGC_POSTMASTER, LOGGING_WHERE,
--- 801,811 ----
      },
      {
          {"default_with_oids", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
!             gettext_noop("Create new tables with OIDs by default."),
              NULL
          },
          &default_with_oids,
!         false, NULL, NULL
      },
      {
          {"redirect_stderr", PGC_POSTMASTER, LOGGING_WHERE,
Index: src/backend/utils/misc/postgresql.conf.sample
===================================================================
RCS file: /var/lib/cvs/pgsql/src/backend/utils/misc/postgresql.conf.sample,v
retrieving revision 1.135
diff -c -r1.135 postgresql.conf.sample
*** src/backend/utils/misc/postgresql.conf.sample    4 Mar 2005 20:21:06 -0000    1.135
--- src/backend/utils/misc/postgresql.conf.sample    11 Mar 2005 04:37:06 -0000
***************
*** 314,320 ****
  #add_missing_from = true
  #regex_flavor = advanced    # advanced, extended, or basic
  #sql_inheritance = true
! #default_with_oids = true

  # - Other Platforms & Clients -

--- 314,320 ----
  #add_missing_from = true
  #regex_flavor = advanced    # advanced, extended, or basic
  #sql_inheritance = true
! #default_with_oids = false

  # - Other Platforms & Clients -


Re: default to WITHOUT OIDS

From
"Qingqing Zhou"
Date:
!    gettext_noop("Create new tables with OIDs by default."),
without?



"Neil Conway" <neilc@samurai.com>
> This patch makes default_with_oids disabled by default, per earlier
> discussion, and updates the documentation accordingly. I might have
> missed a few spots in the documentation that implicitly assume that OIDs
> are present in user tables by default, but I think I got most of them.
>
> Barring any objections, I'll apply this on Monday.
>
> -Neil
>


----------------------------------------------------------------------------
----


> Index: doc/src/sgml/datatype.sgml
> ===================================================================
> RCS file: /var/lib/cvs/pgsql/doc/src/sgml/datatype.sgml,v
> retrieving revision 1.155
> diff -c -r1.155 datatype.sgml
> *** doc/src/sgml/datatype.sgml 22 Jan 2005 22:56:35 -0000 1.155
> --- doc/src/sgml/datatype.sgml 11 Mar 2005 05:35:45 -0000
> ***************
> *** 2980,2989 ****
>      <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</>,
>       <type>regoper</>, <type>regoperator</>, <type>regclass</>, and
> --- 2980,2989 ----
>      <para>
>       Object identifiers (OIDs) are used internally by
>       <productname>PostgreSQL</productname> as primary keys for various
> !     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 set to true.  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
> ***************
> *** 3000,3027 ****
>       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.)
>      </para>
>
>      <para>
> --- 3000,3010 ----
>       references to system tables.
>      </para>
>
>      <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.)
>      </para>
>
>      <para>
> Index: doc/src/sgml/ddl.sgml
> ===================================================================
> RCS file: /var/lib/cvs/pgsql/doc/src/sgml/ddl.sgml,v
> retrieving revision 1.39
> diff -c -r1.39 ddl.sgml
> *** doc/src/sgml/ddl.sgml 22 Jan 2005 22:56:35 -0000 1.39
> --- doc/src/sgml/ddl.sgml 11 Mar 2005 05:41:25 -0000
> ***************
> *** 868,878 ****
>          <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
>         <type>oid</type> (same name as the column); see <xref
>         linkend="datatype-oid"> for more information about the type.
>        </para>
> --- 868,877 ----
>          <primary>OID</primary>
>          <secondary>column</secondary>
>         </indexterm>
> !       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>
> Index: doc/src/sgml/plpgsql.sgml
> ===================================================================
> RCS file: /var/lib/cvs/pgsql/doc/src/sgml/plpgsql.sgml,v
> retrieving revision 1.61
> diff -c -r1.61 plpgsql.sgml
> *** doc/src/sgml/plpgsql.sgml 14 Feb 2005 00:54:26 -0000 1.61
> --- doc/src/sgml/plpgsql.sgml 11 Mar 2005 05:47:32 -0000
> ***************
> *** 1299,1305 ****
>        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.
>       </para>
>
>       <para>
> --- 1299,1306 ----
>        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 into a
> !      table containing OIDs.
>       </para>
>
>       <para>
> Index: doc/src/sgml/pltcl.sgml
> ===================================================================
> RCS file: /var/lib/cvs/pgsql/doc/src/sgml/pltcl.sgml,v
> retrieving revision 2.34
> diff -c -r2.34 pltcl.sgml
> *** doc/src/sgml/pltcl.sgml 22 Jan 2005 22:56:36 -0000 2.34
> --- doc/src/sgml/pltcl.sgml 11 Mar 2005 05:48:06 -0000
> ***************
> *** 401,407 ****
>          <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.)
>          </para>
>         </listitem>
>        </varlistentry>
> --- 401,408 ----
>          <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</> and
> !         modified table contained OIDs.  (If not, you get zero.)
>          </para>
>         </listitem>
>        </varlistentry>
> Index: doc/src/sgml/runtime.sgml
> ===================================================================
> RCS file: /var/lib/cvs/pgsql/doc/src/sgml/runtime.sgml,v
> retrieving revision 1.307
> diff -c -r1.307 runtime.sgml
> *** doc/src/sgml/runtime.sgml 4 Mar 2005 20:21:05 -0000 1.307
> --- doc/src/sgml/runtime.sgml 11 Mar 2005 05:20:38 -0000
> ***************
> *** 3587,3609 ****
>           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.
>          </para>
>         </listitem>
>        </varlistentry>
> --- 3587,3604 ----
>           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</>
> !         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>
> Index: doc/src/sgml/ref/select_into.sgml
> ===================================================================
> RCS file: /var/lib/cvs/pgsql/doc/src/sgml/ref/select_into.sgml,v
> retrieving revision 1.33
> diff -c -r1.33 select_into.sgml
> *** doc/src/sgml/ref/select_into.sgml 9 Jan 2005 05:57:45 -0000 1.33
> --- doc/src/sgml/ref/select_into.sgml 11 Mar 2005 05:52:25 -0000
> ***************
> *** 94,107 ****
>     </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</>.
>     </para>
>    </refsect1>
>
> --- 94,106 ----
>     </para>
>
>     <para>
> !    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
> !    — to include OIDs in the created 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>
>
> Index: src/backend/utils/misc/guc.c
> ===================================================================
> RCS file: /var/lib/cvs/pgsql/src/backend/utils/misc/guc.c,v
> retrieving revision 1.254
> diff -c -r1.254 guc.c
> *** src/backend/utils/misc/guc.c 4 Mar 2005 20:21:06 -0000 1.254
> --- src/backend/utils/misc/guc.c 11 Mar 2005 04:36:43 -0000
> ***************
> *** 139,145 ****
>
>   bool Password_encryption = true;
>
> ! bool default_with_oids = true;
>
>   int log_min_error_statement = PANIC;
>   int log_min_messages = NOTICE;
> --- 139,145 ----
>
>   bool Password_encryption = true;
>
> ! bool default_with_oids = false;
>
>   int log_min_error_statement = PANIC;
>   int log_min_messages = NOTICE;
> ***************
> *** 801,811 ****
>   },
>   {
>   {"default_with_oids", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
> ! gettext_noop("By default, newly-created tables should have OIDs."),
>   NULL
>   },
>   &default_with_oids,
> ! true, NULL, NULL
>   },
>   {
>   {"redirect_stderr", PGC_POSTMASTER, LOGGING_WHERE,
> --- 801,811 ----
>   },
>   {
>   {"default_with_oids", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
> ! gettext_noop("Create new tables with OIDs by default."),
>   NULL
>   },
>   &default_with_oids,
> ! false, NULL, NULL
>   },
>   {
>   {"redirect_stderr", PGC_POSTMASTER, LOGGING_WHERE,
> Index: src/backend/utils/misc/postgresql.conf.sample
> ===================================================================
> RCS file:
/var/lib/cvs/pgsql/src/backend/utils/misc/postgresql.conf.sample,v
> retrieving revision 1.135
> diff -c -r1.135 postgresql.conf.sample
> *** src/backend/utils/misc/postgresql.conf.sample 4 Mar 2005
20:21:06 -0000 1.135
> --- src/backend/utils/misc/postgresql.conf.sample 11 Mar 2005
04:37:06 -0000
> ***************
> *** 314,320 ****
>   #add_missing_from = true
>   #regex_flavor = advanced # advanced, extended, or basic
>   #sql_inheritance = true
> ! #default_with_oids = true
>
>   # - Other Platforms & Clients -
>
> --- 314,320 ----
>   #add_missing_from = true
>   #regex_flavor = advanced # advanced, extended, or basic
>   #sql_inheritance = true
> ! #default_with_oids = false
>
>   # - Other Platforms & Clients -
>
>


----------------------------------------------------------------------------
----


>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faq
>



Re: default to WITHOUT OIDS

From
Neil Conway
Date:
Qingqing Zhou wrote:
> !    gettext_noop("Create new tables with OIDs by default."),
> without?

Right: if the variable is "on", Postgres will "create new tables with
OIDs by default". If the variable is "off", it won't. This is similar to
how the check_function_bodies GUC var is already documented.

(Speaking of which, it would be good if the descriptions of the GUC
variables were more consistent with one another. Some say that a
variable "Sets the threshold of FROM items beyond which GEQO will be
used", for example, whereas others merely state what the variable
controls -- e.g. "Encrypt passwords".)

-Neil

Re: default to WITHOUT OIDS

From
Neil Conway
Date:
Neil Conway wrote:
> This patch makes default_with_oids disabled by default, per earlier
> discussion, and updates the documentation accordingly.

Applied.

-Neil