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 19)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档array_nulls

array_nulls (PostgreSQL 18)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档array_nulls

array_nulls (PostgreSQL 17)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档array_nulls

array_nulls (PostgreSQL 16)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档array_nulls

array_nulls (PostgreSQL 15)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档array_nulls

array_nulls (PostgreSQL 14)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档array_nulls

array_nulls (PostgreSQL 13)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档array_nulls

array_nulls (PostgreSQL 12)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档array_nulls

array_nulls (PostgreSQL 11)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档array_nulls

array_nulls (PostgreSQL 10)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档array_nulls

array_nulls (PostgreSQL 9.6)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档array_nulls

array_nulls (PostgreSQL 9.5)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档array_nulls

array_nulls (PostgreSQL 9.4)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  

文档array_nulls

array_nulls (PostgreSQL 9.3)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  

文档array_nulls

array_nulls (PostgreSQL 9.2)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  

文档array_nulls

array_nulls (PostgreSQL 9.1)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  

文档array_nulls

array_nulls (PostgreSQL 9.0)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  

文档array_nulls

array_nulls (PostgreSQL 8.4)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  

文档array_nulls

array_nulls (PostgreSQL 8.3)

设置  
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  

文档array_nulls

array_nulls (PostgreSQL 8.2)

设置  
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 允许在数组输入中包含 NULL 元素。
扩展描述 当开启时,数组输入值中的未加引号的 NULL 表示空值;否则,它被视为字面量。
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  

文档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”提交任何评论、建议或更正,请在此处 提交