空的、不可编辑的pg_hba.conf文件

12

我正在尝试按照这篇教程:http://samuelstern.wordpress.com/2012/11/28/making-a-simple-database-driven-website-with-sinatra-and-heroku/将我的Sinatra应用程序连接到PostgreSQL数据库。一切都很顺利,直到我尝试执行以下命令:

rake:db migrate

然后我收到了这个错误:

rake aborted!
PG::ConnectionBad: fe_sendauth: no password supplied

看起来我需要更改pg_hba.conf文件的权限,但是打开它后,什么也没有显示出来。如果我尝试写入内容,则会显示“只读”。

我是否在正确的路径上解决错误了,接下来该怎么做?

编辑:实际上,如果我尝试从另一个文本编辑器打开它,它会显示我无权限。

2个回答

32
因为我尝试用SublimeText打开pg_hba.conf,而sublime没有告诉我我没有权限读取它,它只是显示了一个空文件,所以pg_hba.conf是空的。要编辑pg_hba.conf,我需要通过终端打开它。
/etc/postgresql/9.3/main$ sudo subl pg_hba.conf

使用sudo。


1
我的Sublime2即使使用sudo也无法打开pg_hba.conf文件,但是Vim可以。 - partTimeNinja
1
可以确认,在使用vim时,这也是一个问题(因此需要修复)。 - Jeffrey Cordero
1
非常感谢 @lakesare 提出并回答了这个问题。对我帮助很大。 - Singh

1
在我的情况下,我甚至无法编辑或查看pg_hba.conf文件的内容。
解决方法是:
在Ubuntu上使用具有sudo权限的vi编辑器。 /etc/postgresql/14/main$ sudo vi pg_hba.conf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接