Poiché il tuo file risiede sul tuo computer locale e desideri importare il BLOB su un server remoto, hai due opzioni:
1) Trasferisci il file sul server e usa la funzione lato server :
UPDATE species
SET speciesimages = lo_import('/path/to/server-local/file/zzz4.jpg')
WHERE species = 'ACAAC04';
2) Utilizzare il psql meta- comando come ce l'hai tu.
Ma non puoi mischiare i meta comandi psql con i comandi SQL, questo è impossibile.
Usa la variabile psql :LASTOID in un UPDATE comando che avvii subito dopo il \lo_import meta comando nella stessa sessione psql:
UPDATE species
SET speciesimages = :LASTOID
WHERE species = 'ACAAC04';
Per eseguire lo script (funziona in Linux, non ho familiarità con lo scripting della shell di 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
\\è il metacomando separatore. Devi raddoppiare il\, in un""string, perché la shell interpreta un livello.\prima che la nuova riga sia solo la continuazione della riga nelle shell di Linux.
Sintassi alternativa (testata di nuovo su Linux):
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