array_nulls

一个向后兼容的参数,用于确定如何解释 NULL 值作为数组元素

array_nulls 是一个向后兼容的 配置参数,用于确定在指定包含 数组 元素的字符串时是否识别未加引号的 NULL 值。

array_nullsPostgreSQL 8.2 中添加。

默认值

array_nulls 的默认值为:on

用法

PostgreSQL 8.2 开始,数组 元素可以指定为 NULL 值,例如:

postgres=# SELECT '{"foo",NULL,"bar"}'::TEXT[];
      text      
----------------
 {foo,NULL,bar}
(1 row)

PostgreSQL 8.1 及更早版本中,字符串中包含的 NULL 字面量被解析为字符串字面量,例如:

postgres=# SELECT '{"foo",NULL,"bar"}'::TEXT[];
       text       
------------------
 {foo,"NULL",bar}
(1 row)

array_nulls 启用 PostgreSQL 8.2 之前的行为,如果需要与旧版应用程序兼容,则可以使用此功能。

请注意,这不会影响使用 ARRAY[] 构造函数指定的 NULL 值。

按 PostgreSQL 版本分列详情

array_nulls (PostgreSQL 17)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  
pending_restart false

文档: array_nulls

array_nulls (PostgreSQL 16)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  
pending_restart false

文档: array_nulls

array_nulls (PostgreSQL 15)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  
pending_restart false

文档: array_nulls

array_nulls (PostgreSQL 14)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  
pending_restart false

文档: array_nulls

array_nulls (PostgreSQL 13)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  
pending_restart false

文档: array_nulls

array_nulls (PostgreSQL 12)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  
pending_restart false

文档: array_nulls

array_nulls (PostgreSQL 11)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  
pending_restart false

文档: array_nulls

array_nulls (PostgreSQL 10)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  
pending_restart false

文档: array_nulls

array_nulls (PostgreSQL 9.6)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  
pending_restart false

文档: array_nulls

array_nulls (PostgreSQL 9.5)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  
pending_restart false

文档: array_nulls

array_nulls (PostgreSQL 9.4)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  

文档: array_nulls

array_nulls (PostgreSQL 9.3)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  

文档: array_nulls

array_nulls (PostgreSQL 9.2)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  

文档: array_nulls

array_nulls (PostgreSQL 9.1)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  

文档: array_nulls

array_nulls (PostgreSQL 9.0)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  

文档: array_nulls

array_nulls (PostgreSQL 8.4)

设置 on
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  
enumvals  
boot_val on
reset_val on
sourcefile  
sourceline  

文档: array_nulls

array_nulls (PostgreSQL 8.3)

设置  
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  

文档: array_nulls

array_nulls (PostgreSQL 8.2)

设置  
单位  
类别 版本和平台兼容性 / 以前的 PostgreSQL 版本
short_desc 启用在数组中输入 NULL 元素。
extra_desc 启用后,数组输入值中的未加引号的 NULL 表示空值;否则将按字面意思理解。
上下文 用户
vartype bool
来源 默认
min_val  
max_val  

文档: array_nulls

变更历史

示例

演示 array_nulls 效果的示例

postgres=# CREATE TABLE foo (val text[]);
CREATE TABLE

postgres=# SHOW array_nulls;
 array_nulls 
-------------
 on
(1 row)

postgres=# INSERT INTO foo VALUES('{"foo",NULL,"bar"}');
INSERT 0 1

postgres=# SET array_nulls TO off;
SET

postgres=# INSERT INTO foo VALUES('{"foo",NULL,"bar"}');
INSERT 0 1

postgres=# SELECT val[2] IS NULL FROM foo;
 ?column? 
----------
 t
 f
(2 rows)

分类

数组向后兼容性GUC 配置项

另请参阅

transform_null_equals

反馈

提交任何关于“array_nulls”的评论、建议或更正 此处