[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 メーリングリストの案内