场景
postgresql在用命令行登录时,无论参数输入-W还是-w都不能避免提示输入密码,查看参数说明,发现官方没有给出密码参数
Connection options:
-h, --host=HOSTNAME database server host or socket directory (default: “local socket”)
-p, --port=PORT database server port (default: “5432”)
-U, --username=USERNAME database user name (default: “root”)
-w, --no-password never prompt for password
-W, --password force password prompt (should happen automatically)
但是在写批处理脚本的时候,脚本执行二次输入密码显然不现实
解决方案:
可以通过设置环境变量来设置登录密码
window
set PGPASSWORD=123456
psql.exe -h 127.0.0.1 -U postgres -d postgres -c "你想要执行的sql命令;"
linux
PGPASSWORD=1234567899 psql -h 127.0.0.1 -U postgres -d postgres -c "你想要执行的sql命令;"