Protože je váš soubor umístěn na vašem místním počítači a chcete objekt blob importovat na vzdálený server, máte dvě možnosti:
1) Přeneste soubor na server a použijte funkci na straně serveru :
UPDATE species
SET speciesimages = lo_import('/path/to/server-local/file/zzz4.jpg')
WHERE species = 'ACAAC04';
2) Použijte psql meta- příkaz jako byste to měli.
Ale nemůžete kombinovat psql meta příkazy s SQL-příkazy, to je nemožné.
Použijte proměnnou psql :LASTOID v UPDATE příkaz, který spustíte ihned po \lo_import meta příkaz ve stejné relaci psql:
UPDATE species
SET speciesimages = :LASTOID
WHERE species = 'ACAAC04';
Chcete-li to naskriptovat (funguje v Linuxu, neznám skriptování v prostředí Windows):
echo "\lo_import '/path/to/my/file/zzz4.jpg' \\\\ UPDATE species SET speciesimages = :LASTOID WHERE species = 'ACAAC04';" | \
psql -h 192.168.1.12 -p 5432 -d myDB -U my_admin
\\je metapříkaz oddělovače. Musíte zdvojnásobit\, v""řetězec, protože shell interpretuje jednu vrstvu.\před novým řádkem je pouze pokračování řádku v linuxových shellech.
Alternativní syntaxe (opět testováno na Linuxu):
psql -h 192.168.1.12 -p 5432 -d myDB -U my_admin << EOF
\lo_import '/path/to/my/file/zzz4.jpg'
UPDATE species
SET speciesimages = :LASTOID
WHERE species = 'ACAAC04';
EOF