всем привет !
на сервере в определённой папке (например: D:\MyFiles\abc.dat) лежит файл.
как мне со стороны клиента на удалённой машине составить запрос к PostgreSQL серверу, чтобы он выдал мне в результате этот файл (как результат выполнения клиентского запроса) ?
Используйте хранимую
Используйте хранимую процедуру на одном из встроенных языков программирования, которые позволяют запуск внешних команд (plPerl, plTcl, plPython и т.д.)
Но вообще это неправильно - заставлять PostgreSQL заниматься несвойственной функциональностью - хранение файлов - не функция СУБД.
Уважаемый админ, а можно
Уважаемый админ, а можно подробнее ? (более развёрнутый ответ).
Просто непонятно, как запуск внешних команд ОС поможет клиенту получить файл, как результат запроса?
Даже если бы я знал языки plPerl, plTCL, plPython, то какую внешнюю команду я бы запустил с их помощью ? Можно участок кода ф студию ?
( Ну а насчёт "хранение файлов - не функция СУБД", так в моём примере файл и не хранится в СУБД, а лежит себе спокойно в файловой системе ОС. Вот я и хочу узнать как этот файл "достать" и передать клиенту )
Вы из хранимой процедуры
Вы из хранимой процедуры возвращаете какой-то результат верно?
Кто мешает вам в качестве результата вернуть содержимое файла? например как тип TEXT перекодировав данный файл в MIME или UUE?
Пример кода писать мне просто лень, уж извините.
Будь я на вашем месте, я бы написал клиента так, чтобы файл отдавал не PostgreSQL, а например веб-сервер или samba-сервер. Но это к вопросу о птичках.