无法输入和更改PostgreSQL pg_hba.conf文件

时间:2012-08-12 02:36:14

标签: postgresql terminal vi

我正在运行OSX,我正在尝试更改pg_hba.conf文件中的PostgreSQL身份验证选项。问题是我无法进入它。我试过了

sudo su - postgres

然后使用vi尝试编辑它。当我用vi打开文件时,vi显示为好像是一个新文件,只显示波浪线。如果我尝试编写该新文件,我会收到错误消息,说我无法执行此操作。

请帮忙,谢谢

这是我的目录:

$ 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

2 个答案:

答案 0 :(得分:9)

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

要修改pg_hba.conf

在psql中,运行:

SHOW hba_file;

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

sudo find / -name pg_hba.conf

找到正确的路径后,您无需使用supostgres登录进行编辑;只需使用:

sudo vim /path/to/pg_hba.conf

例如在我的系统上:

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

如果您更喜欢使用其他编辑器,那么任何可以从命令行运行的东西都可以使用,包括大多数GUI编辑器。

答案 1 :(得分:1)

你可以这样使用

 sudo vi /etc/postgresql/9.1/main/pg_hba.conf