pg数据库配置无需交互式输入密码连接服务端

最近在做一个etl导入插件,因为公司有写部门用了postgres数据库,这个数据库从mysql被oralce收购以后号称最好的开始数据库。

我们需要通过psql客户端去连服务端,但是它不像mysql那样输入:

mysql -h127.0.0.1-udev -p123456 -P 3306

postgres它不能直接输入密码,需要交互式的输入:

psql -U username -h 127.0.0.1 -p 5432 -t -d database

这个时候你需要手动输入密码


但是没地方可以输入这个密码, 所以需要搞一个自动的形式

看了一些postgres数据库,支持这种,发现有两种方法(还有别的方法,希望周知一下)

第一种方式:配置一个环境变量PGPASSWORD,这个只需要在执行psql命令之前执行:

export PGPASSWORD=password


第二种方式:配置一个配置文件.pgpass文件,格式像下面这样就行:

127.0.0.1:5432:*:postgres:postgres

这种方式需要你去配置一个文件,注意这个需要放在用户主目录下面下,~/.pgpass,还需要注意这个文件的权限,至少当前用户能读取到这个文件吧,这个很容易理解吧,还有就是需要权限配成0600,命令:sudo chmod 0600 ~/.pgpass

你可能感兴趣的:(数据库,pg,postgres)