我正在运行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
答案 0 :(得分:9)
猜测,您已尝试在实际不存在的目录中编辑该文件,因为系统上的路径不同。如果你展示了你运行的确切命令,确切的错误消息文本,你的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编辑器。
答案 1 :(得分:1)
你可以这样使用
sudo vi /etc/postgresql/9.1/main/pg_hba.conf