Комментарии 2
Я в свое время прошел примерно такой же путь. Вначале сделал на rust расширение с DataFusion в виде фонового воркера пг и протоколом через общую память - https://github.com/darthunix/pg_fusion. Там главными проблемами были стоимость перепаковки datum-arrow, отличия в поведении типов (numeric, текст только в виде utf8 и т.д.), а так же отличия в поведении выражений и операторов (приходилось переписывать почти все готовые узлы).
Потом я решил сделать модульный пакетный исполнитель для системы типов пг - https://github.com/darthunix/tessera. В нем сразу предусмотрено, что могут быть любые форматы сырых пакетных данных из разных tam (и для этих форматов можно реализовать свою обработку без перепаковки в datum). А если разным форматам пакетов нужно друг с другом поговорить или встроиться в построчный исполнитель пг, то данные перепаковываются в пакеты datum. Сейчас главную сложность я вижу в том, чтобы описать код спецификациями, описать процесс разработки для агнетов (проектирование функционала, тестирование, замеры произвотельности на микро и макро бенчах). Возможно, что-то из этого будет полезно и вашему проекту.

Векторизованное колоночное исполнение запросов в PostgreSQL 19