【问题标题】:How can I fix the error with json_object in postgresql-9.6?如何修复 postgresql-9.6 中 json_object 的错误?
【发布时间】:2020-01-30 10:00:19
【问题描述】:

有带有 PostgreSQL 数据库监控的 Zabbix。 Zabbix 中有一个 trigger 经常出现垃圾邮件错误:

ERROR:  function json_object(text[], text[]) does not exist
LINE 11:    SELECT json_object(array_agg(name), array_agg(setting)) F...
                           ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
SQL state: 42883
Character: 190

找到一个在其中注册了此触发器的模板。这是标准的,我试图在 Postgres 中单独请求一行,结果同样的错误。 请求本身:

select json_build_object('extensions',(select array_agg(extname) from (select extname from pg_extension order by extname) as e),'settings', (select json_object(array_agg(name),array_agg(setting)) from (select name,setting from pg_settings where name != 'application_name' order by name) as s));

我请你说出哪里出了问题。

【问题讨论】:

    标签: json postgresql zabbix postgresql-9.6


    【解决方案1】:

    函数json_object(text[], text[])自9.4版起存在于PostgreSQL (documentation)中。 您确定您使用的是 9.4 或更高版本吗?您可以检查:

    SELECT version();
    

    【讨论】:

    • 谢谢。我的错。虽然我安装的是9.6版,但是显示的是9.2版。显然出了点问题。
    猜你喜欢
    • 2021-07-29
    • 1970-01-01
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    • 2022-07-26
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    相关资源
    最近更新 更多