.pgpass文件不设置默认用户名连接为

Debian 8)

我的.pgpass文件在我的家庭文件夹(pipe理员)

我使用文档中指出的正确格式

hostname:port:database:username:password 

当把它放在psql命令行中时,我放在那里的相同字段工作的很好。 (当然,我必须手动input密码)。

但是,运行psql本身给我们一个错误:

 psql: FATAL: role "admin" does not exist 

请注意,我的postgres用户名不是“admin”,这是我的debian用户名。

我究竟做错了什么? 我的目标是无需使用精心制作的命令行(包括主机/端口/用户名/数据库)来访问psql

psql在连接时默认使用当前的unix用户名,除非你指定了不同的东西。

如果你想要一个不同的默认值,你可以设置PGUSER环境variables。

请参阅https://stackoverflow.com/q/17632278/398670

.pgpasspsql查找给定的主机,用户名,端口等组合的密码。 它没有指定使用什么连接,只是给定连接使用的密码。

您可以使用env vars,服务文件和/或shell别名来指定连接默认值。