[pgsql-jp: 36114] psqlコマンドでshを実行?

Yumiko Izumi izumi-yumiko @ tokyo.scnet.co.jp
2005年 10月 12日 (水) 18:01:25 JST


お世話になります。
psqlコマンドについて質問させてください。

PostgreSQLのバージョンは、7.3.x、7.4.x、8.0.3を併用しています。
また、Linux版のオリジナルをHPUX、Solaris、AIXに移植して使用して
います。

以下のようなコマンドラインを実行するコマンドをC言語で開発しています。

psql testDB -t -f test.sql -o result.txt -h targetnode -U user >& err.txt

開発したコマンドは、Linuxでは正しく実行できるのですが、HPUX、
Solaris、AIXでは以下のようなエラーが出て失敗します。

<HPUX>
sh: err.txt: Generated or received a file descriptor number that is not valid.
<Solaris>
err.txt: bad number
<AIX>
sh: err.txt: bad file unit number

shのエラーが出ていることと、以下のようにコマンドラインを直せば正しく
実行できることはわかりました。
psql testDB -t -f test.sql -o result.txt -h targetnode -U user 2> err.txt

しかし、以下疑問が残っています。
1.psqlを実行してshのエラーが出るのはなぜか?
2.ログインシェルはcshなのにshで実行されているように見えるが、なぜか?
3.どうすればログインシェルで実行できるのか?

ご存知の方、回答をよろしくお願いします。

以上です。




pgsql-jp メーリングリストの案内