我在PG 12中有一个表格“ t”
Id int
Col1 character varying
Data_col jsonb
Data_col如下所示:
{key1:value 1,key2:value 2,key3:value 3 ....}
我可以使用下面的选择以拖曳形式获取键和值
Select t.id, t.col1, x.key, x.value
From t, jsonb_each_text(t.data_col) x
我想知道是否有一种方法可以将上述select的输出存储到实例化视图中?我试过了-
Create materialized view t_mv
As
Select t.id, t.col1, x.key, x.value
From t, jsonb_each_text(t.data_col) x;
但我得到一个错误
error cannot call jsonb_each on a non-object
有任何想法吗?
谢谢
中的值之一t.data_col
必须是数组或标量:
SELECT * FROM jsonb_each_text('"scalar"'::jsonb);
ERROR: cannot call jsonb_each_text on a non-object
SELECT * FROM jsonb_each_text('[1,2,3]'::jsonb);
ERROR: cannot call jsonb_each_text on a non-object
要查找有问题的行,可以使用以下查询
SELECT id FROM t WHERE jsonb_typeof(data_col) <> 'object';
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句