【问题标题】:Can not enter and change PostgreSQL pg_hba.conf file无法进入和更改 PostgreSQL pg_hba.conf 文件
【发布时间】:2012-08-08 19:05:10
【问题描述】:

我正在运行 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

【问题讨论】:

    标签: postgresql terminal vi


    【解决方案1】:

    您猜测,您尝试在一个实际不存在的目录中编辑文件,因为您系统上的路径不同。如果您显示您运行的确切命令、确切的错误消息文本、您的 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 编辑器。

    【讨论】:

    • 感谢 Craig,我设法用 vim 进入并更改了它。这正是我以前认为的地方……我真的很生气为什么我以前不能进入它。不过你救了我。谢谢!
    • @A_funs 很高兴它成功了。玩得开心。顺便说一句,您将来可以通过发布准确的命令行、准确的复制粘贴错误消息等来节省一些时间;这使得第一次写一个好的答案更容易。
    【解决方案2】:

    你可以这样使用

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-01
      • 2012-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多