1.当我在commandprompt中应用此命令时,它会让我输入密码,我可以在数据库中执行所有操作
psql -h localhost -p 5432 -U postgres -f test.sql newdb
2.但当我输入此命令时,它显示错误“'PGPASSWORD'未被识别为内部或外部命令, 可操作的程序或批处理文件。“
PGPASSWORD=root psql -h localhost -p 5432 -U postgres -P root -f test.sql newdb
答案 0 :(得分:0)
Ashwin,PGPASSWORD不是一个命令,它是一个系统用户/全局变量,可以为您保存密码。因此,“psql”命令下次不会要求输入密码。使用您早期使用的相同命令,即低于1,连接到数据库......
psql -h localhost -p 5432 -U postgres -f test.sql newdb
但是,这次你需要做的就是设置全局变量。
Windows系统:
您可以从系统属性的环境变量设置此变量。
Linux系统:
export PGPASSWORD=yourpassword
或者,您可以在“.bashrc”文件中添加此导出。
答案 1 :(得分:-1)
将变量设为:
PGPASSWORD=%s pg_dump --host=%s --port=%s --username=%s %s -f %s
使用有效文字更改%s
。