私は小さなコードに取り組んでいます。
- 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()
良い考えだと思いましたが、ターミナルで適切なコマンドを入力すると、シェルはパスワードを要求します(ただし、必要ではありません。「入力」すると、すべてが実行されます。
必要のないプロンプトを「無効にする」方法を知っている人はいますか?