(Debian 8)
我的.pgpass文件位于我的主文件夹(admin)
我并使用文档中指出的正确格式
主机名:端口:数据库:用户名:密码
当我明确地将psql
命令行放入时,我放在那里的相同字段工作得很好。 (当然我必须手动输入密码。)
但是,单独运行psql
会出错:
psql:致命:角色"管理员"不存在
请注意,我的sql用户名不是admin,这是我的debian用户名。
我做错了什么?我的目标是访问psql
而无需使用精心设计的命令行,包括主机/端口/用户名/数据库
答案 0 :(得分:4)
.pgpass
不是一种选择您要使用的设置的方法,它是一种存储您已选择使用的许多设置的密码的方法。它可以包含多行。然后根据the documentation:
将使用第一行中与当前连接参数匹配的密码字段。
您仍需提供连接参数(密码除外)。
如果您总是希望使用相同的连接参数,则应该使用environment variables(PGHOST
,PGDATABASE
,PGUSER
,...),并且可能将它们放在.bashrc
文件中(取决于您使用的shell)。
然后,您可以选择将密码本身存储在PGPASSWORD
环境变量或.pgpass
文件中。后者可能会给你更多的灵活性。