Как исправить ошибку с json_object в postgresql-9.6?

Есть Zabbix с мониторингом базы данных PostgreSQL. В Zabbix есть один триггер, который постоянно спамит ошибку:

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));

Я прошу вас сказать, что не так.


person dzgrt    schedule 30.01.2020    source источник


Ответы (1)


Функция json_object(text[], text[]) существует в PostgreSQL (документация) начиная с версии 9.4. Вы уверены, что используете версию 9.4 или выше? Вы можете проверить с помощью:

SELECT version();
person XavierBrt    schedule 30.01.2020
comment
Спасибо. Виноват. Хотя я установил версию 9.6, но показывает версию 9.2. Видимо что-то было не так. - person dzgrt; 30.01.2020