(Debian 8)
我的 .pgpass 文件位于我的主文件夹 (admin)
我使用文档中指示的正确格式
hostname:port:database:username:password
当我将相同的字段明确地放入psql
命令行时,它们可以很好地工作。(当然,我必须手动输入密码)。
但是,单独运行 psql 会出现错误:
psql: FATAL: role "admin" does not exist
请注意,我的 postgres 用户名不是“admin”,这是我的 debian 用户名。
psql
我做错了什么?我的目标是无需使用包括主机/端口/用户名/数据库在内的复杂命令行即可访问
答案1
psql
默认在连接时使用您当前的 unix 用户名,除非您指定其他用户名。
如果您想要不同的默认值,您可以设置PGUSER
环境变量。
看https://stackoverflow.com/q/17632278/398670
.pgpass
psql
查找给定主机、用户名、端口等组合的密码。它不指定要使用什么连接,只指定要用于给定连接的密码。
您可以使用环境变量、服务文件和/或 shell 别名来指定连接默认值。