Python - psql 提示输入密码,即使它得到了密码
Python - psql prompt for password even if it got it
我正在编写一个小代码,它必须:
- 使用 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()
我认为这是个好主意,但是当我在终端中输入正确的命令时,shell 提示输入密码(但不是必需的,当我 'enter' 时,一切都会被执行。
有谁知道我如何 'disable' 提示,这不是必需的?
psql
有一个--no-password
选项,也可以指定为-w
.
看来您可能将 -w
拼错为 -W
,这会产生相反的效果。
我正在编写一个小代码,它必须:
- 使用 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()
我认为这是个好主意,但是当我在终端中输入正确的命令时,shell 提示输入密码(但不是必需的,当我 'enter' 时,一切都会被执行。
有谁知道我如何 'disable' 提示,这不是必需的?
psql
有一个--no-password
选项,也可以指定为-w
.
看来您可能将 -w
拼错为 -W
,这会产生相反的效果。