dポイントプレゼントキャンペーン実施中!

こんにちは、honiyonです。

 WindowsXP + Cygwin + PostgreSQL
 という環境で使用しています。
 psqlは
  http://www.interwiz.koganei.tokyo.jp/software/Po …
 にあるWindows版を使用しています。

 この環境で、ファイルに保存してあるSQLを一括処理した場合に発生するエラーをしる為に、実行結果をファイルに保存したいと思い、

 psql -h localhost [DB名] < sqllist.txt > log.txt

 のように実行してみました。
 確かにログは作成されましたが、正常時のみで肝心のエラーメッセージが省かれて保存されます。
 そこで、

 psql -f sqllist.txt -o log.txt -h localhost [DB名]

 としましたが、変化ありませんでした。

 もしエラーメッセージを保存する方法がありましたら、是非ご教授ください(..
 宜しくお願いします(..

A 回答 (2件)

#1です。


WINDOWS版って書いてありましたね。
リダイレクトの切り替えはWindowsでも可能です。
(psql -h localhost [DB名] < sqllist.txt) 2>&1) > log.txt

2>&1は標準エラー出力2を標準出力1に切り替えという
意味です。
切り替えた結果を()で囲み、されにファイル出力してます。
    • good
    • 4
この回答へのお礼

こんにちは、honiyonです。

 なるほど、MS-DOSにもそういった方法があったのですね。
 勉強になりました^^

 そして無事目標達成できました。
 有難うございました(..

お礼日時:2004/07/15 18:12

環境がないので試せませんが、


標準エラー出力「>&」を使用すればとれませんか?
psql -h localhost [DB名] < sqllist.txt >& log.txt
    • good
    • 1
この回答へのお礼

こんにちは、honiyonです。

 ご回答ありがとうございます^^
 Cygwin上であれば、その方法で出力出来るのですが、残念ながらMS-DOSでは >& をサポートしていないようなのです。
 Cygwin上でやれば問題ない事なのですが、都合上MS-DOS版のpsqlを使用して実現したいと思っています^^;

 宜しくお願いします(..

お礼日時:2004/07/15 13:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A