В упрощенном каноническом примере (который я часто вижу на форумах и в книгах) сценария экспорта растра OID (возвращается lo_create (0) , здесь 9585208 ) должен быть известен до предпоследней строки сценария ( lo_export 9585208 'C: /temp/raster.png'):
SELECT oid, lowrite(lo_open(oid, 131072), img) As num_bytes
FROM (
VALUES (
lo_create(0),
(SELECT ST_AsPNG(rast)
FROM bag_o_rasters
LIMIT 1)
)
) As v(oid, img);
lo_export 9585208 'C:/temp/raster.png'
SELECT lo_unlink(9585208);
Мне сложно разобраться, как заставить утилиту PSQL cli запускать этот скрипт за один проход, т. Е. Как передать OID, возвращаемый lo_create (0) на lo_export команда. Кажется, что lo_export - это команда на стороне клиента, и он не может переварить какие-либо результаты запроса ... пожалуйста, помогите ...