[pgsql-jp: 34265] psqlで、パスワードをコマンドラインに渡す方法

和泉由美子 izumi-yumiko @ tokyo.scnet.co.jp
2004年 11月 12日 (金) 09:56:00 JST


和泉と申します。業務でPostgreSQLを使わせて頂いています。

使用しているバージョンはPostgreSQL7.3.4で、今後7.4.6も使用
予定です。

現在リモートで別ホストからpsqlにて接続する処理を検討して
います。
やりたいと思っているのは、以下のようなコマンドラインを
アプリケーションから起動し、出力ファイルを受け取る処理です。
そのため、ログインはせずに実行します。

psql dbname -h host -U user -f file -o out > & err

そこで、オプションにはないのですが、psqlのコマンドライン
でパスワードを指定したいと考えています。

過去のMLを検索したところ、以下を見つけることが出来ましたが、
当方の環境ではこのechoを使った方法が上手くいかず、以下のように
指定しても「Password:」プロンプトがコマンドラインに表示されます。
(現在テスト中のマシンはRedHatのいくつかのバージョンです。)

そこで質問なのですが、psqlのコマンドラインにパスワードを渡す
方法はないでしょうか?

============================================================
[pgsql-jp 21797] Re: psql からのパスワード認証をシェルスクリプトから行う方法
--------------------------------------------------------------------------------
Date: Wed, 13 Jun 2001 15:47:47 +0900 (JST) 
--------------------------------------------------------------------------------

>DB へはパスワード認証をすることにしまして、
>pg_hba.conf の AUTHTYPE は password か crypt で行うものとします。
>
>このとき、psql にはパスワードを入力するオプションがないために
>
>% psql -q -U foo -f hoge.sql bar
>
>のときにプロンプトを表示して入力を促されます。
>
>シェルスクリプトの中から実行したいので
>自動的にパスワードを入力するようにしたいのですが、
>なにかいい方法はありますでしょうか。

私のところのSolaris8(Intel)+PostgreSQL7.1.2では

% echo password | psql -q -U foo -f hoge.sql bar

でOKのようですが,プラットフォームによってはダメなのかな?
============================================================

以上よろしくお願いします。

 *********************************************************

   Yumiko Izumi
     E-mail:izumi-yumiko @ tokyo.scnet.co.jp 

 *********************************************************




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