default_with_oids
一个已弃用的参数,用于确定表是否应包含 OID 列。
default_with_oids 是一个已弃用的 配置参数,它决定了在执行 CREATE TABLE 或 CREATE TABLE AS 时,如果未明确指定 WITH OIDS 或 WITHOUT OIDS,新创建的表是否应包含 OID 列。它还决定了在执行 SELECT INTO 时是否会自动创建 OID 列。
default_with_oids 于 PostgreSQL 8.0 中添加,并在 PostgreSQL 12 中移除。
默认值
default_with_oids 的默认值为:off。
按 PostgreSQL 版本详细信息
default_with_oids (PostgreSQL 11)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
默认情况下创建带 OID 的新表。 |
| 扩展描述 |
|
| 上下文 |
user |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:default_with_oids
default_with_oids (PostgreSQL 10)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
默认情况下创建带 OID 的新表。 |
| 扩展描述 |
|
| 上下文 |
user |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:default_with_oids
default_with_oids (PostgreSQL 9.6)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
默认情况下创建带 OID 的新表。 |
| 扩展描述 |
|
| 上下文 |
user |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:default_with_oids
default_with_oids (PostgreSQL 9.5)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
默认情况下创建带 OID 的新表。 |
| 扩展描述 |
|
| 上下文 |
user |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:default_with_oids
default_with_oids (PostgreSQL 9.4)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
默认情况下创建带 OID 的新表。 |
| 扩展描述 |
|
| 上下文 |
user |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:default_with_oids
default_with_oids (PostgreSQL 9.3)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
默认情况下创建带 OID 的新表。 |
| 扩展描述 |
|
| 上下文 |
user |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:default_with_oids
default_with_oids (PostgreSQL 9.2)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
默认情况下创建带 OID 的新表。 |
| 扩展描述 |
|
| 上下文 |
user |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:default_with_oids
default_with_oids (PostgreSQL 9.1)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
默认情况下创建带 OID 的新表。 |
| 扩展描述 |
|
| 上下文 |
user |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:default_with_oids
default_with_oids (PostgreSQL 9.0)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
默认情况下创建带 OID 的新表。 |
| 扩展描述 |
|
| 上下文 |
user |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:default_with_oids
default_with_oids (PostgreSQL 8.4)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
默认情况下创建带 OID 的新表。 |
| 扩展描述 |
|
| 上下文 |
user |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:default_with_oids
default_with_oids (PostgreSQL 8.3)
| 设置 |
|
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
默认情况下创建带 OID 的新表。 |
| 扩展描述 |
|
| 上下文 |
user |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
文档:default_with_oids
default_with_oids (PostgreSQL 8.2)
| 设置 |
|
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
默认情况下创建带 OID 的新表。 |
| 扩展描述 |
|
| 上下文 |
user |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
文档:default_with_oids
变更历史
示例
仅限 PostgreSQL 11 及更早版本
postgres=# SET default_with_oids TO on;
SET
postgres=# CREATE TABLE table_with_oids (id int, val text);
CREATE TABLE
postgres=# INSERT INTO table_with_oids VALUES (1, 'foo');
INSERT 16461 1
postgres=# SELECT oid, id, val FROM table_with_oids ;
oid | id | val
-------+----+-----
16461 | 1 | foo
(1 row)
postgres=# SET default_with_oids TO off;
SET
postgres=# CREATE TABLE table_without_oids (id int, val text);
CREATE TABLE
postgres=# INSERT INTO table_without_oids VALUES (1, 'foo');
INSERT 0 1
postgres=# SELECT oid, id, val FROM table_without_oids ;
ERROR: column "oid" does not exist
LINE 1: SELECT oid, id, val FROM table_without_oids ;
^