A_f*_*uns 2 postgresql vi terminal
我正在运行OSX,我正在尝试更改pg_hba.conf文件中的PostgreSQL身份验证选项.问题是我无法进入它.我试过了
sudo su - postgres
Run Code Online (Sandbox Code Playgroud)
然后使用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
Run Code Online (Sandbox Code Playgroud)
猜测,您已尝试在实际不存在的目录中编辑该文件,因为系统上的路径不同.如果你展示了你运行的确切命令,确切的错误消息文本,你的PostgreSQL版本以及你如何安装Pg(Homebrew,EnterpriseDB软件包等),它会有所帮助.
编辑pg_hba.conf
:
在psql中,运行:
SHOW hba_file;
Run Code Online (Sandbox Code Playgroud)
并查看它报告的位置.那是你必须编辑的文件.如果你无法进入,psql
你必须在文件系统中找到它; 尝试:
sudo find / -name pg_hba.conf
Run Code Online (Sandbox Code Playgroud)
当您找到正确的路径时,您无需使用su
从postgres
登录中进行编辑; 只需使用:
sudo vim /path/to/pg_hba.conf
Run Code Online (Sandbox Code Playgroud)
例如在我的系统上:
sudo vim /var/lib/pgsql/data/pg_hba.conf
Run Code Online (Sandbox Code Playgroud)
如果您更喜欢使用不同的编辑器,那么可以从命令行运行的任何东西都可以使用,包括大多数GUI编辑器.