(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
.pgpass
是psql
查找给定的主机,用户名,端口等组合的密码。 它没有指定使用什么连接,只是给定连接使用的密码。
您可以使用env vars,服务文件和/或shell别名来指定连接默认值。