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
更改历史记录
- PostgreSQL 8.2
- 添加 (提交 cecb6075)
示例
演示 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)
参考文献
- PostgreSQL 文档: array_nulls