Conversión de comando de Linux de Postgres 9.0 a comando de Windows

Conversión de comando de Linux de Postgres 9.0 a comando de Windows

Estoy trabajando en una aplicación que se utiliza delphi 7como front-end y postgres 9.0back-end.

Tengo que cargar imágenes en el servidor, así que uso \lo_importy \lo_exportpara insertar imágenes en el servidor y obtenerlas del servidor.

Me encontré con un problema donde se necesita LASTOIDdespués de a, \lo_importasí que puedo usar el OID para actualizar una fila en mi tabla, pero no puedo configurar la sintaxis correcta en Windows.

aquí está mi pregunta sobrestackoverflow.com... tengo la respuesta pero el script está en el comando sheel de Linux ... no puedo ejecutarlo en Windows

         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

y

  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

He probado esto en Windows

  "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'"; 

entonces inmediatamente (programáticamente) estoy haciendo

    "C:\Program Files\PostgreSQL\9.0\bin\psql.exe" -h 192.168.1.12 -p 5432 -d nansis -U nansis_admin -c " update species SET speciesimages = :LASTOID WHERE species='ACAAC24'" 

pero lo entiendoSyntax error at or near ":"

¿Alguien puede decirme cómo convertirlo al comando de Windows?

Respuesta1

Recibí esta respuesta de mi pregunta sobre stackoverflow.postgres-9-0-comando-linux-a-comando-conversión-de-windows

Simplemente coloque los comandos en un archivo (digamos import.psql)

 -- contents of import.psql
\lo_import '/path/to/my/file/zzz4.jpg'
 UPDATE species
 SET    speciesimages = :LASTOID
 WHERE  species = 'ACAAC04';

luego emite el comando

 "C:\Program Files\PostgreSQL\9.0\bin\psql.exe" -h 192.168.1.12 -p 5432 -d myDB -U my_admin -f import.psql

información relacionada