SQL-запрос из Logstash проходит с ошибкой


#1

С PostgreSQL знаком плохо, но приходится вот быстро вникать.

Суть в чем, из Logstash проходить запрос типа:
SELECT * from dbmon_stat_activity()

В логе получаю ошибку:

[2018-07-02T14:00:00,384][WARN ][logstash.inputs.jdbc ] Exception when executing JDBC query {:exception=>#<Sequel::DatabaseError: Java::OrgLogstash::MissingConverterException: Missing Converter handling for full class name=org.postgresql.util.PGobject, simple name=PGobject>}

Сама функция которая вызывается этим запросом:

CREATE OR REPLACE FUNCTION public.dbmon_stat_activity()
 RETURNS SETOF pg_stat_activity
 LANGUAGE plpgsql
 SECURITY DEFINER
AS $function$
DECLARE
 rcrd RECORD;
BEGIN
  FOR rcrd IN SELECT * FROM pg_stat_activity
  LOOP
    RETURN NEXT rcrd;
  END LOOP;
  RETURN;
END;
$function$

В соответствии с тем, что написано здесь и здесь мне надо тип данных в таблице выбрать.
Как-то это можно сделать в функции или обязательно править таблицы?

Да и если вручную выполняю этот запрос, то все отрабатывает как надо.
Заранее спасибо за любые советы))


#2

Причина ошибки в том, что java-драйвер (JDBC) не может обработать возвращаемый функцией тип, в данном случае record из 20 полей. Выглядит багом в Logstash, особенно учитывая что хранимка ничего не делает и запрос эквивалентен SELECT * FROM pg_stat_activity.

Я думаю вам нужно зарепортить это разработчикам Logstash.