1.使用export命令设置环境变量,将数据库密码赋值给PGPASSWORD
export PGPASSWORD="$put_here_the_password"
2.在用户主目录下创建一个.pgpass文件,将数据库用户名密码信息配置写入其中
localhost:5432:mydbname:postgres:mypass
export PGPASSWORD="$put_here_the_password"
2.在用户主目录下创建一个.pgpass文件,将数据库用户名密码信息配置写入其中
localhost:5432:mydbname:postgres:mypass
随后将该文件设置权限为600即可(否则可能不会生效)。
官网的链接是https://www.postgresql.org/docs/10/static/libpq-pgpass.html
但官网有个坑,就是用Unix举例时是chmod 0600,而这个在linux下是不行的,命令能成功但.pgpass仍然无法被读取。需要chmod 600才行
这样就能在脚本中执行pg_dump而无需密码了(需-w)
官网连接是https://www.postgresql.org/docs/current/static/app-pgdump.html
这里有第1.5个坑,就是w小写,这个和前面的玩法不默契啊