postgresql – 带有jsonb类型的plv8存储过程

postgresql – 带有jsonb类型的plv8存储过程,第1张

概述这可能为时过早,postgres 9.4仍处于测试阶段.我一直在试验jsonb类型.我没有运气将jsonb类型传递给plv8函数,它以类型字符串形式出现.我想知道我做错了吗? create or replace function jt ( o json ) returns integer language plv8 immutableAS $function$ plv8.elog 这可能为时过早,postgres 9.4仍处于测试阶段.我一直在试验Jsonb类型.我没有运气将Jsonb类型传递给plv8函数,它以类型字符串形式出现.我想知道我做错了吗?

create or replace function jt ( o Json ) returns integer language plv8 immutableAS $function$        plv8.elog(INFO,'type is ',typeof o);        plv8.elog(INFO,'argument is ',o);        plv8.elog(INFO,'member is ',o['member']);$function$;create or replace function jt ( o Jsonb ) returns integer language plv8 immutableAS $function$        plv8.elog(INFO,o['member']);$function$;

然后,当我使用Json运行时:

psql=# select jt('{"member":"test"}'::Json);INFO:  type is  objectINFO:  argument is  [object Object]INFO:  member is  test

但是,当我用Jsonb运行时:

psql=# select jt('{"member":"test"}'::Jsonb);INFO:  type is  stringINFO:  argument is  {"member": "test"}INFO:  member is  undefined

-G

解决方法 PL / V8需要​​添加对JsONB的支持才能达到预期效果.

同时你仍然可以通过普通的Json;把Jsonb转换成Json.

总结

以上是内存溢出为你收集整理的postgresql – 带有jsonb类型的plv8存储过程全部内容,希望文章能够帮你解决postgresql – 带有jsonb类型的plv8存储过程所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1160493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存