psql不读取.pgpass

时间:2018-04-13 06:10:47

标签: postgresql psql

我可以通过提供用户名,主机名和数据库名来登录PostgreSQL服务器:

psql -U led -h 127.0.0.1 led
psql (9.2.23)
Type "help" for help.

led=> 

我有.pgpass文件:

cat .pgpass 
127.0.0.1:5432:led:led:password

psql不起作用。它似乎无法阅读.pgpass:

psql 
psql: FATAL:  role "vagrant" does not exist

正如您所看到的,psql尝试以用户" vagrant":OS shell用户身份登录。但我想以用户身份登录" led"。

1 个答案:

答案 0 :(得分:0)

.pgpass文件为特定主机/端口/数据库(或模式)上的特定用户提供密码详细信息。它可以包含多行,因为您可以作为多个用户连接到多个主机。

您仍然需要设置连接详细信息,然后使用它们来查找密码。

如果您只想要一个"默认"如果您的系统用户名与本地用户名不同,则可以通过定义alias或设置environment variables来实现。我经常在项目顶部设置一个设置文件,source为我的测试数据库设置连接详细信息。

编辑:有关设置命令别名的一些背景信息