pg_dump的-w参数

作者:瀚高PG实验室 (Highgo PG Lab)- 海无涯

我们知道pg_dump  -W是强制pg_dump执行的时候连接到一个数据库之前强制提示密码输入。

-w则是从不提示密码,但是如果服务器请求密码验证身份认证,而又不能通过其他方式(例如.pgpass文件)来获得,则 此命令会导致连接失败。这个选项也长长用在后台脚本中,因为后台脚本无法输入密码。

[highgo@hgtest ~]$ pg_dump -h localhost -p 5866 -U highgo  -b -v -w -f highgo highgo.bak 
pg_dump: [archiver (db)] connection to database "highgo.bak" failed: fe_sendauth: no password supplied

实际上 -h localhost 是通过pg_hba.conf:

# IPv4 local connections:
host    all             all             0.0.0.0/0            md5

来连接数据库的,是需要强制输入密码的

如果换成本地登录呢?

[highgo@hgtest ~]$ pg_dump -p 5866 -U highgo  -b -v -f highgo 
pg_dump: last built-in OID is 16383
pg_dump: reading extensions
......

[highgo@hgtest ~]$ ll
total 32556
-rw-rw-r-- 1 highgo highgo 33335844 Jun 22 19:00 highgo

即便是不指定-w也不用输入密码

配置.pgpass试一试:

hostname:port:database:username:password

[highgo@hgtest ~]$ cat .pgpass 
localhost:5866:highgo:highgo:highgo123
[highgo@hgtest ~]$ chmod 0600 .pgpass 

pg_dump -h localhost highgo  -p 5866 -U highgo  -b -v -f highgo.bak3
-rw-rw-r-- 1 highgo highgo 33335844 Jun 22 19:25 highgo.bak3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值