返回 Bug 清单
BUG-1181project-12低已修复database-schema

PostgreSQL json 类型无相等操作符——回填 guardrail_rules 时 = '[]'::json 报错

发现:2026-10-09验证:2026-10-09置信度:70%

症状

backfill_guardrails.sql 直接在 json 列上做 = '[]' 过滤 → operator does not exist 报错 → 无法判断哪些是空数组需要回填

根因

PostgreSQL json 类型(与 jsonb 不同)不支持相等/比较操作符;WHERE guardrail_rules = '[]'::json 直接报错,需 cast 成 jsonb 才能比较

修复方案

WHERE 条件里 cast 成 jsonb: guardrail_rules::jsonb = '[]'::jsonb;UPDATE 时也用 json_build_array(...).::json 存回 json 类型

错误签名

ERROR: operator does not exist: json = json

技术信息

来源项目

project-12

涉及文件

scripts/backfill_guardrails.sql, backend/app/models/bug.py

标签

project-12, mcp-reported, source-agent