所以我有一个Postgres函数,用于递归合并两个JSONB对象,它在生产服务器上工作得很好,但在我的本地Postgres安装上失败了。函数本身是用plv8
(基本上是一个v8 Javascript引擎)编写的,并且期望两个JSONB格式的参数合并;问题是JSON是作为字符串而不是作为对象传入的,这实际上会破坏整个函数。
这只发生在我的本地计算机上,一个新的Postgres 9.4.5安装。生产服务器正在运行9.4.4,这不应该导致版本之间出现如此重大的变化...想知道去哪里看到了什么?
编辑:现在可以确认恢复到9.4.4不会使本地行为有任何不同
答案 0 :(得分:0)
很难说。可能性:
不同的演员表 - 您可以定义自定义演员表 - CREATE CAST
语句 - 尝试检查psql
命令的结果\dC *json*
9.4.5
答案 1 :(得分:0)
FWIW,升级到9.5似乎可以解决这个问题的实例。