Postgresql:如何在psql脚本中添加密码?


写了个执行sql语句的shell脚本,但是由于数据较多,而且有密码保护,以至于每次执行都需要输入密码。psql本身好像并不支持带密码的参数。这样,写的脚本也就失去了意义。请问如何才能给psql加上密码?

带密码 技巧 psql 脚本 Linux PostgreSQL

超級不可愛轉轉 9 years, 10 months ago

有几个方法。具体可以参考官方文档 http://www.postgresql.org/docs/curren....

就你的问题而言, 最容易的方法,当然是弹出密码输入。正如你所说,这种方式,会让脚本失去意义。这时,你可以提供一个pgpass文件(其中包含密码信息),或者 添加一个 PGPASSWORD 系统变量。

具体可以参考官方文档

  1. http://www.postgresql.org/docs/9.0/st...
  2. http://www.postgresql.org/docs/9.0/in...

psql不接受命令行参数的密码,主要是从密码安全方面考虑的。正如前面所言,你可以在命令行中简单的使用系统变量来达到这个目的:

export PGPASSWORD=yourpass

或者,直接在脚本的最前面添加:

PGPASSWORD=yourpass
戏谑的二次元 answered 9 years, 10 months ago

Your Answer