Это невозможно без вызова оболочки.Однако доступно два kuldges:
1) Вы можете создать функцию на небезопасном языке (например, python) в postgresql, которая затем выполняет pgsql2shp.Это некрасивый хак, но его преимущество заключается в создании шейп-файла с помощью SQL-запроса.
2) Вы можете вывести результаты sql во временную таблицу со столбцом геометрии, сохраненным в виде текста через ST_AsText.Затем вы можете вывести таблицу в csv с помощью команды sql COPY TO, а затем восстановить шейп-файл из csv позже, используя скрипт на стороне клиента.
Ни один из этих подходов не является полностью удовлетворительным (в частности, подход 2 может потерятьнемного точности вашей геометрии), но их может быть достаточно для достижения вашей цели.