我希望将没有预定义结构(即键值格式不固定)的json字符串插入到具有jsonb数据类型的postgres列中。我的应用程序使用HikariCP和JPA。早些时候,我在postgres中使用了下面的泛型强制转换操作来实现上面的操作,但DBA不建议这样做,因为它从根本上改变了varchar数据类型。CREATE CAST (character varying AS jsonb) WITH INOUT AS IMPLICIT;
在寻找应用程序端替代方案时,我遇到了设置字符串<
task" ADD COLUMN "tags" jsonb; 我还有一个专门用来存储所有可以使用的标记的表,每个记录的主键都用在任务表的JSONB列中。,该查询返回任务中使用的标签标签。SELECT * FROM task, tag WHERE task.tags @> to_jsonb(tag.tag_id) 使用to_jsonb非常糟糕,因为它不使用我的表的索引,但是如果我将SQL更改为类似下面
我知道大多数用户都在寻找jsonb类型,在这种类型中,值的检索要比json类型快得多。不过,我仍然需要键值中的顺序,到目前为止,我认为实现这一目标的最佳方法是将我的列类型迁移到json。jsonb_colum TYPE json在这两种情况下,我都会得到以下错误:
错误:操作符类"jsonb_path_ops“不接受数据类型json我还尝试将USING子句