0

私は小さなコードに取り組んでいます。

  • SFTP で接続する
  • PostgreSQL でコマンドを実行 (パスワード保護)

パスワードをプレーンテキストとして使用したいと考えています。

今のところ、私のコードは次のとおりです。

import pysftp

command = "... some SQL command"

sftp= pysftp.Connection('server_name', username='username', password='password')
sftp.execute("export PGPASSWORD='password_to_psql'")
sftp.execute("psql -h 127.0.0.1 -d {} -U {} -W -c "{}"").format(database_name, user_name, command)
sftp.close()

良い考えだと思いましたが、ターミナルで適切なコマンドを入力すると、シェルはパスワードを要求します(ただし、必要ではありません。「入力」すると、すべてが実行されます。

必要のないプロンプトを「無効にする」方法を知っている人はいますか?

4

1 に答える 1

1

psqlには--no-passwordオプションがあり、 として指定することもできます-w

のように綴りを間違え-wたようです-W。これは逆の効果があります。

于 2016-09-14T14:54:36.630 に答える