3

当我尝试使用 dbext 连接到我的 Postgres.app 数据库时,我收到以下错误:

dbext:PostgreSQL requires a '$HOME/.pgpass' file in order to authenticate.  This file is 
missing.  The binary 'psql' does not accept commandline passwords.

其他程序使用“本地”连接就可以很好地连接。(Postgres.app 使用我的用户 ID 运行。)

在 vim 中:!which psql正确打印 /opt/local/bin/psql (我已将其符号链接到 Postgres.app bin 目录中的那个)。而且 Postgres.app 设置为使用“本地”身份验证,并且无法清楚地知道 pg_hba.conf 文件的去向(应用程序包中没有 etc 目录)。此外,Postgres.app 的文档中没有任何关于更改访问配置的内容。

我试过:DBPromptForBufferParameters直接使用 dbext 以及 @tpope 的vim-rails插件(它通过:Rdbext.

那么我该怎么做才能让 dbext 使用“本地”连接进行连接?

注意 - 我花了很多时间试图弄清楚这一点而没有尝试明显的,因此即使我已经有了答案,也会发布帖子。我也很想知道其他人是否有不同的方法。

4

1 回答 1

3

事实证明,您可以只创建一个空的 ~/.pgpass 文件(仅限制对您的用户 ID 的读写权限以避免警告)。这对我来说是违反直觉的(因为实际上没有密码),但我想回想起来很明显我应该尝试过。

我将在 dbext 问题跟踪器上指出这一点。

于 2013-03-22T15:47:21.333 回答