mirror of
https://github.com/postgres/postgres.git
synced 2025-04-25 21:42:33 +03:00
Make default_with_oids default to false -- user-created tables will now
no longer include OIDs, unless WITH OIDS is specified or the default_with_oids configuration parameter is enabled. Update the docs accordingly.
This commit is contained in:
parent
0edc2f14e0
commit
ff02d0a052
@ -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">
|
<chapter id="datatype">
|
||||||
@ -2980,12 +2980,12 @@ SELECT * FROM test;
|
|||||||
<para>
|
<para>
|
||||||
Object identifiers (OIDs) are used internally by
|
Object identifiers (OIDs) are used internally by
|
||||||
<productname>PostgreSQL</productname> as primary keys for various
|
<productname>PostgreSQL</productname> as primary keys for various
|
||||||
system tables. An OID system column is also added to user-created
|
system tables. OIDs are not added to user-created tables, unless
|
||||||
tables, unless <literal>WITHOUT OIDS</literal> is specified when
|
<literal>WITH OIDS</literal> is specified when the table is
|
||||||
the table is created, or the <xref linkend="guc-default-with-oids">
|
created, or the <xref linkend="guc-default-with-oids">
|
||||||
configuration variable is set to false. Type <type>oid</>
|
configuration variable is enabled. Type <type>oid</> represents
|
||||||
represents an object identifier. There are also several alias
|
an object identifier. There are also several alias types for
|
||||||
types for <type>oid</>: <type>regproc</>, <type>regprocedure</>,
|
<type>oid</>: <type>regproc</>, <type>regprocedure</>,
|
||||||
<type>regoper</>, <type>regoperator</>, <type>regclass</>, and
|
<type>regoper</>, <type>regoperator</>, <type>regclass</>, and
|
||||||
<type>regtype</>. <xref linkend="datatype-oid-table"> shows an
|
<type>regtype</>. <xref linkend="datatype-oid-table"> shows an
|
||||||
overview.
|
overview.
|
||||||
@ -3000,28 +3000,11 @@ SELECT * FROM test;
|
|||||||
references to system tables.
|
references to system tables.
|
||||||
</para>
|
</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>
|
<para>
|
||||||
The <type>oid</> type itself has few operations beyond comparison.
|
The <type>oid</> type itself has few operations beyond comparison.
|
||||||
It can be cast to
|
It can be cast to integer, however, and then manipulated using the
|
||||||
integer, however, and then manipulated using the standard integer
|
standard integer operators. (Beware of possible
|
||||||
operators. (Beware of possible signed-versus-unsigned confusion
|
signed-versus-unsigned confusion if you do this.)
|
||||||
if you do this.)
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -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">
|
<chapter id="ddl">
|
||||||
<title>Data Definition</title>
|
<title>Data Definition</title>
|
||||||
@ -868,11 +868,10 @@ CREATE TABLE order_items (
|
|||||||
<primary>OID</primary>
|
<primary>OID</primary>
|
||||||
<secondary>column</secondary>
|
<secondary>column</secondary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
The object identifier (object ID) of a row. This is a serial
|
The object identifier (object ID) of a row. This column is only
|
||||||
number that is automatically added by
|
present if the table was created using <literal>WITH
|
||||||
<productname>PostgreSQL</productname> to all table rows (unless
|
OIDS</literal>, or if the <xref linkend="guc-default-with-oids">
|
||||||
the table was created using <literal>WITHOUT OIDS</literal>, in which
|
configuration variable was enabled. This column is of type
|
||||||
case this column is not present). This column is of type
|
|
||||||
<type>oid</type> (same name as the column); see <xref
|
<type>oid</type> (same name as the column); see <xref
|
||||||
linkend="datatype-oid"> for more information about the type.
|
linkend="datatype-oid"> for more information about the type.
|
||||||
</para>
|
</para>
|
||||||
|
@ -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">
|
<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 <acronym>SQL</acronym> engine, and <varname>RESULT_OID</>,
|
||||||
the OID of the last row inserted by the most recent
|
the OID of the last row inserted by the most recent
|
||||||
<acronym>SQL</acronym> command. Note that <varname>RESULT_OID</>
|
<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>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -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">
|
<chapter id="pltcl">
|
||||||
@ -400,8 +400,9 @@ $$ LANGUAGE pltcl;
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Returns the OID of the row inserted by the last
|
Returns the OID of the row inserted by the last
|
||||||
<function>spi_exec</> or <function>spi_execp</>,
|
<function>spi_exec</> or <function>spi_execp</>, if the
|
||||||
if the command was a single-row <command>INSERT</>. (If not, you get zero.)
|
command was a single-row <command>INSERT</> and the modified
|
||||||
|
table contained OIDs. (If not, you get zero.)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -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
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -94,14 +94,13 @@ SELECT [ ALL | DISTINCT [ ON ( <replaceable class="PARAMETER">expression</replac
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Prior to <productname>PostgreSQL</> 8.0, the table created by
|
Prior to <productname>PostgreSQL</> 8.1, the table created by
|
||||||
<command>SELECT INTO</command> always included OIDs.
|
<command>SELECT INTO</command> included OIDs by default. In
|
||||||
As of <productname>PostgreSQL</> 8.0, the
|
<productname>PostgreSQL</productname> 8.1, this is not the case
|
||||||
inclusion of OIDs in the table created by <command>SELECT
|
— to include OIDs in the new table, the <xref
|
||||||
INTO</command> is controlled by the
|
linkend="guc-default-with-oids"> configuration variable must be
|
||||||
<xref linkend="guc-default-with-oids"> configuration variable. This
|
enabled. Alternatively, <command>CREATE TABLE AS</command> can be
|
||||||
variable currently defaults to true, but will likely default to
|
used with the <literal>WITH OIDS</literal> clause.
|
||||||
false in a future release of <productname>PostgreSQL</>.
|
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
||||||
|
@ -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">
|
<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>
|
newly-created tables, if neither <literal>WITH OIDS</literal>
|
||||||
nor <literal>WITHOUT OIDS</literal> is specified. It also
|
nor <literal>WITHOUT OIDS</literal> is specified. It also
|
||||||
determines whether OIDs will be included in tables created by
|
determines whether OIDs will be included in tables created by
|
||||||
<command>SELECT INTO</command>. In
|
<command>SELECT INTO</command>. In <productname>PostgreSQL</>
|
||||||
<productname>PostgreSQL</productname> &version;
|
8.1 <varname>default_with_oids</> is disabled by default; in
|
||||||
<varname>default_with_oids</varname> defaults to true. This is
|
prior versions of PostgreSQL, it was true by default.
|
||||||
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>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
To ease compatibility with applications that make use of OIDs,
|
The use of OIDs in user tables is considered deprecated, so
|
||||||
this option should left enabled. To ease compatibility with
|
most installations should leave this variable disabled.
|
||||||
future versions of <productname>PostgreSQL</productname>, this
|
Applications that require OIDs for a particular table should
|
||||||
option should be disabled, and applications that require OIDs
|
specify <literal>WITH OIDS</literal> when creating the
|
||||||
on certain tables should explicitly specify <literal>WITH
|
table. This variable can be enabled for compatibility with old
|
||||||
OIDS</literal> when those tables are created.
|
applications that do not follow this behavior.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
* Written by Peter Eisentraut <peter_e@gmx.net>.
|
* Written by Peter Eisentraut <peter_e@gmx.net>.
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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 Password_encryption = true;
|
||||||
|
|
||||||
bool default_with_oids = true;
|
bool default_with_oids = false;
|
||||||
|
|
||||||
int log_min_error_statement = PANIC;
|
int log_min_error_statement = PANIC;
|
||||||
int log_min_messages = NOTICE;
|
int log_min_messages = NOTICE;
|
||||||
@ -801,11 +801,11 @@ static struct config_bool ConfigureNamesBool[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"default_with_oids", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
|
{"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
|
NULL
|
||||||
},
|
},
|
||||||
&default_with_oids,
|
&default_with_oids,
|
||||||
true, NULL, NULL
|
false, NULL, NULL
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{"redirect_stderr", PGC_POSTMASTER, LOGGING_WHERE,
|
{"redirect_stderr", PGC_POSTMASTER, LOGGING_WHERE,
|
||||||
|
@ -314,7 +314,7 @@
|
|||||||
#add_missing_from = true
|
#add_missing_from = true
|
||||||
#regex_flavor = advanced # advanced, extended, or basic
|
#regex_flavor = advanced # advanced, extended, or basic
|
||||||
#sql_inheritance = true
|
#sql_inheritance = true
|
||||||
#default_with_oids = true
|
#default_with_oids = false
|
||||||
|
|
||||||
# - Other Platforms & Clients -
|
# - Other Platforms & Clients -
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user