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 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
变更历史
- 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