You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为PostgreSQL的jsonb列添加布尔类型属性?

解决PostgreSQL jsonb_set函数报错问题

错误原因

你执行的语句存在两个不符合jsonb_set函数参数要求的问题:

  1. 第二个参数(目标属性路径)需要是文本数组格式,直接传'Filed'会被识别为unknown类型,不匹配函数定义。
  2. 第三个参数必须是jsonb类型,你传入的false是原生布尔值,未做类型转换,导致参数类型不匹配。

正确的UPDATE语句

写法一:显式类型转换

UPDATE "doc" SET "data" = jsonb_set("data"::jsonb, '{Filed}', 'false'::jsonb, true);

写法二:用to_jsonb函数转换

UPDATE "doc" SET "data" = jsonb_set("data"::jsonb, '{Filed}', to_jsonb(false), true);

补充说明

  • '{Filed}'是数组格式的路径,用于指定要新增/修改的jsonb属性位置
  • 'false'::jsonb或to_jsonb(false)都能将布尔值转为jsonb类型,满足函数参数要求
  • 最后一个true参数表示当目标属性不存在时自动添加,正好符合你新增Filed: false属性的需求

内容的提问来源于stack exchange,提问作者Alexander Zeitler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:55:23