Как избежать сериализации результата Postgres JSON в сиквеле - PullRequest
0 голосов
/ 28 марта 2019

На веб-сервере я выполняю запрос в Postgres, который выполняет select json_build_object агрегации (json_agg). Я использую Sequel для извлечения этих данных, и в качестве значения я получаю экземпляр Sequel::Postgres::JSONHash. Затем я выполняю to_json, чтобы отправить его веб-клиенту.

Вывод этого запроса очень велик, и я думаю, что он мог бы быть более производительным, если бы я мог получить необработанный ответ json от postgres напрямую и отправить его клиенту вместо анализа его в JSONHash (что сделано сиквел), а затем снова преобразовать его в JSON.

Как я мог это сделать?

1 Ответ

1 голос
/ 28 марта 2019

Приведите json_build_object из json к тексту в запросе: SELECT json_build_object(...)::text ...

...