array_nulls

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

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

array_nulls 添加于 PostgreSQL 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 18)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  
待重启 false

文档: array_nulls

array_nulls (PostgreSQL 17)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  
待重启 false

文档: array_nulls

array_nulls (PostgreSQL 16)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  
待重启 false

文档: array_nulls

array_nulls (PostgreSQL 15)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  
待重启 false

文档: array_nulls

array_nulls (PostgreSQL 14)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  
待重启 false

文档: array_nulls

array_nulls (PostgreSQL 13)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  
待重启 false

文档: array_nulls

array_nulls (PostgreSQL 12)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  
待重启 false

文档: array_nulls

array_nulls (PostgreSQL 11)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  
待重启 false

文档: array_nulls

array_nulls (PostgreSQL 10)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  
待重启 false

文档: array_nulls

array_nulls (PostgreSQL 9.6)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  
待重启 false

文档: array_nulls

array_nulls (PostgreSQL 9.5)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  
待重启 false

文档: array_nulls

array_nulls (PostgreSQL 9.4)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  

文档: array_nulls

array_nulls (PostgreSQL 9.3)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  

文档: array_nulls

array_nulls (PostgreSQL 9.2)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  

文档: array_nulls

array_nulls (PostgreSQL 9.1)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  

文档: array_nulls

array_nulls (PostgreSQL 9.0)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  

文档: array_nulls

array_nulls (PostgreSQL 8.4)

设置 on
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 on
重置值 on
源文件  
源代码行号  

文档: array_nulls

array_nulls (PostgreSQL 8.3)

设置  
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  

文档: array_nulls

array_nulls (PostgreSQL 8.2)

设置  
单位  
类别 版本和平台兼容性/以前的 PostgreSQL 版本
简短描述 启用数组中 NULL 元素的输入。
额外描述 启用时,数组输入值中的未加引号的 NULL 表示空值;否则将其视为字面量。
上下文 用户
变量类型 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”的任何评论、建议或更正 此处