2017-07-20 1 views
0

psqlコマンドにパスワードを含めることはできますか?psql cmdコマンドのパスワードを指定する(Javaアプリケーション経由)

私のコマンドは次のとおりです。

のpsql -h localhostの-p 5432 -U MEE -d MY_DB -f sqltest.sql

「私は私のJavaアプリケーションを介してそれを実行しようとしているが、私はdidnのためそれを指定する方法を知っている。

Process pro = Runtime.getRuntime().exec("psql -h localhost -p 5432 -U mee -d my_db -f sqltest.sql"); 

BufferedReader br = new BufferedReader(new InputStreamReader(pro.getInputStream())); 
String line; 
while ((line = br.readLine()) != null) 
     System.out.println("heeeeeeeeeeere : "+line); 
+0

さて、あなたは['psql'のドキュメント](https://www.postgresql.org/docs/9.6/static/app-psql.html)を見ましたか? – RealSkeptic

+0

はい。私は、-Wがパスワードを挿入するようにユーザーを強制するが、実際には-wのポイントを得ていないことがわかった。私はpgpassファイルにパスワードを挿入するべきなので、私はそれをcmdに挿入する義務はありませんか? – Meegh

+2

徹底的には十分ではありません。環境変数、または(データベース名の代わりに)接続文字列を介してパスワードを渡す可能性があります。答えには、 '.pgpass'を使用します。これらのすべての情報は、ドキュメントを介してアクセスできます。 – RealSkeptic

答えて

0

ほとんどあなたが行うことができますが、あなたが.pgpassファイルに貫通して接続しているユーザーのパスワードを保存しています。この方法では、psqlはパスワードを要求しません。 psqlに引数としてパスワードを渡す方法はありません。

+0

ありがとうございます。できます。 – Meegh

関連する問題