当前位置: 首页 > 知识库问答 >
问题:

将jsonb_each的输出保存在物化视图中

徐昆
2023-03-14

我在第12页有张桌子-

Id int

Col1 character varying

Data_col jsonb

Select t.id, t.col1, x.key, x.value
From t, jsonb_each_text(t.data_col) x

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

谢谢

共有1个答案

欧阳翔
2023-03-14

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';
 类似资料:
  • 问题内容: 我开发了一个HTML 5应用程序,并具有加载用户评论的视图。它是递归的:任何注释都可以具有可单击的子注释,这些子注释正在同一视图中加载并使用相同的控制器。 一切都好。但是,当我想返回时,评论会再次加载,而我的位置和子评论也会丢失。 返回时可以保存视图的状态吗?我想我可以使用某种技巧,例如:每当我单击子注释并隐藏上一个视图时,都可以追加一个新视图。但是我不知道该怎么做。 问题答案: 是的

  • 我对JavaCV FFMPEGFrameRecOrder的使用有点困惑。我有几个字节[]或短[]数组(取决于我的图像是8位还是16位),如果我有几个图像的相关数据。现在,我的想法是使用JavaCPP将每个图像发送到ffmpeg,这样它就可以在我希望的framerate上从这个集合中创建一个静音视频。到目前为止,我有: 但我经常犯这样的错误 谢了!

  • 在运行将StringBuilder的内容保存到.xlsx文件的代码时,它给出了以下错误: 线程“main”java.lang.nosuchmethoderror:org.apache.poi.util.poilogger.log(iljava/lang/object;ljava/lang/throwable;)V在org.apache.poi.openxml4j.opc.zippackage.bu

  • 问题内容: 如何将URL输出的JSON保存到文件中? 例如,来自Twitter搜索API(此http://search.twitter.com/search.json?q=hi) 语言并不重要。 编辑//然后如何将进一步的更新附加到EOF? 编辑2 //确实,答案很好,但是我接受了我认为最优雅的答案。 问题答案: 这在任何语言中都很容易,但是机制各不相同。使用wget和shell: 追加: 使用P

  • 问题内容: 我在所有技术术语上都不是很好,所以我会尽力解释我的问题。 我已经编写了一个小脚本来打开android SDK并检查连接的设备(使用Windows 10和python 2.7.14)。我得到的代码如下: 一切正常,但我想将最后3行保存到文本文件中。我尝试过使用并将其全部转换为字符串并将其写入文件并关闭它,但是它不起作用。它甚至都没有创建文件,更不用说向它写入任何内容了。 我可能缺少一些关

  • 我正在探索物化视图来创建非规范化视图,以避免为了提高读取性能而连接多个表。API将从物化视图中读取数据,以向客户端提供数据。 我正在使用亚马逊aurora postgres(版本11)。 我在物化视图(MV)上使用一个唯一的索引,这样我就可以使用“并发刷新”选项。 不过我注意到的是,当只有一小部分行在其中一个源表中更新,我尝试刷新视图时,它非常慢。事实上比第一次填充视图慢。例如:要填充MV第一次需