PostgreSQL \lo_import и как получить полученный OID в команду UPDATE?

Я работаю с Postgres 9.0, и у меня есть приложение где мне нужно вставить изображения на удаленный сервер. Поэтому я использую:

 "C:\Program Files\PostgreSQL\9.0\bin\psql.exe" -h 192.168.1.12 -p 5432 -d myDB -U my_admin -c  "\lo_import 'C://im/zzz4.jpg'";

где

192.168.1.12— IP-адрес серверной системы

5432— номер порта

myDB— имя базы данных сервера

my_admin— это имя пользователя

«\lo_import 'C://im/zzz4.jpg'»— это запущенный запрос.

Shell screenshot

После того, как изображение было вставлено в базу данных, мне нужно обновить строку в таблице следующим образом:

UPDATE species 
SET    speciesimages=17755;  -- OID from previous command.. how to get the OID ??
WHERE  species='ACCOAA';

Итак, мой вопрос: как мне получить OID, возвращенный после \lo_importв psql?

Я пытался запустить \lo_import 'C://im/zzz4.jpg'в Postgres, но получаю сообщение об ошибке:

ERROR:  syntax error at or near ""\lo_import 'C://im/zzz4.jpg'""
LINE 1: "\lo_import 'C://im/zzz4.jpg'"

Я такжепробовал это:

update species
set speciesimages=\lo_import 'C://im/zzz4.jpg'
where species='ACAAC04';

Но я получаю эту ошибку:

ERROR:  syntax error at or near "\"
LINE 2: set speciesimages=\lo_import 'C://im/zzz4.jpg'
                          ^
5
задан Cœur 19 July 2018 в 03:04
поделиться