Postgres 9.0 LinuxコマンドをWindowsコマンドに変換する[閉じる]

Postgres 9.0 LinuxコマンドをWindowsコマンドに変換する[閉じる]

delphi 7私はフロントエンドとバックエンドとして機能するアプリケーションを開発していますpostgres 9.0

イメージをサーバーにアップロードする必要があるため、サーバーはイメージを使用して挿入\lo_importし、サーバーからイメージを取得します。\lo_export

LASTOIDOIDを持つテーブルの行を更新するためにafterが必要な問題が発生しましたが、\lo_importWindowsがこれを正しく設定する構文を取得できませんでした。

これは私の問題です。stackoverflow.com..答えを得ましたが、スクリプトはLinux sheelコマンドにあります。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

そして

  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

私はこれを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'"; 

その後すぐに(プログラミング方式で)

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

しかし理解するSyntax error at or near ":"

誰でもこれをWindowsコマンドに変換する方法を教えてもらえますか?

答え1

stackoverflowに関する質問からこの回答を得ました。postgres-9-0-linux-commandをWindowsコマンドに変換する

コマンドをファイル(例:import.psql)に入れます。

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

その後、コマンドを実行

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

関連情報