↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

Wiki / 函数

jsonb_insert

返回插入new_value的target。如果path指派的项是一个数组元素,则当 insert_after为假(此为默认值)时,new_value将被插入到该项之前;当 insert_after为真时,则插入到该项之后。如果由path指派的项是一个对象字段,则只在对象不包含该键时才插入 new_value。路径中的所有前面步骤都必须存在,否则将不加改变地返回target。与面向路径的操作符一样,path中的负整数从 JSON 数组末尾计数。如果最后一个路径步骤是超出范围的数组下标,那么当下标为负时,新值会被添加到数组开头;当下标为正时,新值会被添加到数组末尾。

英文手册覆盖始于 PostgreSQL 7.1. 来源历史与运行验证各自保留独立版本边界。

当前阅读 PG 18·选择有来源记录的版本

group
json
group label
Json Functions And Operators
lang
en
layout
table-new
pages
functions-json.html
prose only
false
zh from
未知

版本定义 PG 18

返回插入new_value的target。如果path指派的项是一个数组元素,则当 insert_after为假(此为默认值)时,new_value将被插入到该项之前;当 insert_after为真时,则插入到该项之后。如果由path指派的项是一个对象字段,则只在对象不包含该键时才插入 new_value。路径中的所有前面步骤都必须存在,否则将不加改变地返回target。与面向路径的操作符一样,path中的负整数从 JSON 数组末尾计数。如果最后一个路径步骤是超出范围的数组下标,那么当下标为负时,新值会被添加到数组开头;当下标为正时,新值会被添加到数组末尾。
jsonb_insert ( target jsonb, path text[], new_value jsonb [, insert_after boolean ] ) → jsonb
返回插入new_value的target。如果path指派的项是一个数组元素,则当 insert_after为假(此为默认值)时,new_value将被插入到该项之前;当 insert_after为真时,则插入到该项之后。如果由path指派的项是一个对象字段,则只在对象不包含该键时才插入 new_value。路径中的所有前面步骤都必须存在,否则将不加改变地返回target。与面向路径的操作符一样,path中的负整数从 JSON 数组末尾计数。如果最后一个路径步骤是超出范围的数组下标,那么当下标为负时,新值会被添加到数组开头;当下标为正时,新值会被添加到数组末尾。

函数签名与重载

jsonb_insert ( target jsonb, path text[], new_value jsonb [, insert_after boolean ] ) → jsonb → jsonb
返回插入new_value的target。如果path指派的项是一个数组元素,则当 insert_after为假(此为默认值)时,new_value将被插入到该项之前;当 insert_after为真时,则插入到该项之后。如果由path指派的项是一个对象字段,则只在对象不包含该键时才插入 new_value。路径中的所有前面步骤都必须存在,否则将不加改变地返回target。与面向路径的操作符一样,path中的负整数从 JSON 数组末尾计数。如果最后一个路径步骤是超出范围的数组下标,那么当下标为负时,新值会被添加到数组开头;当下标为正时,新值会被添加到数组末尾。

比较版本

来源引用

完整定义与证据 JSON

定义来源

center · PostgreSQL 18 · 2026-09-14T13:14:25.684213+00:00@99e6866c

正文语言: zh-Hans · 1b5ca64c