.pgpass文件无法正常宣传

时间:2015-06-26 16:44:30

标签: postgresql

(Debian 8)

我的.pgpass文件位于我的主文件夹(admin)

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

主机名:端口:数据库:用户名:密码

当我明确地将psql命令行放入时,我放在那里的相同字段工作得很好。 (当然我必须手动输入密码。)

但是,单独运行psql会出错:

psql:致命:角色"管理员"不存在

请注意,我的sql用户名不是admin,这是我的debian用户名。

我做错了什么?我的目标是访问psql而无需使用精心设计的命令行,包括主机/端口/用户名/数据库

1 个答案:

答案 0 :(得分:4)

.pgpass不是一种选择您要使用的设置的方法,它是一种存储您已选择使用的许多设置的密码的方法。它可以包含多行。然后根据the documentation

选择相关的行如下
  

将使用第一行中与当前连接参数匹配的密码字段。

您仍需提供连接参数(密码除外)。

如果您总是希望使用相同的连接参数,则应该使用environment variablesPGHOSTPGDATABASEPGUSER,...),并且可能将它们放在.bashrc文件中(取决于您使用的shell)。

然后,您可以选择将密码本身存储在PGPASSWORD环境变量或.pgpass文件中。后者可能会给你更多的灵活性。