4

I am running OSX, I am trying to change the PostgreSQL authentication options in the pg_hba.conf file. The problem is I can't get into it. I have tried

sudo su - postgres

Then used vi to try to edit it. When I open the file with vi, vi displays as if it's a new file, showing only tilde lines. If I try to write that new file, I get an error saying I am not able to do so.

PLease help, thanks

this is my directory:

$ sudo find / -name pg_hba.conf
Password:
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory
/Library/PostgreSQL/9.1/data/pg_hba.conf
4

2 回答 2

11

猜测一下,您试图在一个实际不存在的目录中编辑文件,因为您系统上的路径不同。如果您显示您运行的确切命令、确切的错误消息文本、您的 PostgreSQL 版本以及您如何安装 Pg(Homebrew、EnterpriseDB 软件包等),将会有所帮助。

编辑pg_hba.conf

在 psql 中,运行:

SHOW hba_file;

并查看它报告的位置。那是您必须编辑的文件。如果无法进入psql,则必须在文件系统中找到它;尝试:

sudo find / -name pg_hba.conf

当您找到正确的路径后,您无需使用登录su来编辑它;postgres只需使用:

sudo vim /path/to/pg_hba.conf

例如在我的系统上:

sudo vim /var/lib/pgsql/data/pg_hba.conf

如果您喜欢使用不同的编辑器,任何可以从命令行运行的东西都应该可以工作,包括大多数 GUI 编辑器。

于 2012-08-12T04:55:30.633 回答
1

你可以使用这种方式

 sudo vi /etc/postgresql/9.1/main/pg_hba.conf
于 2015-09-03T08:57:02.743 回答