【问题标题】:Postgresql: How to find pg_hba.conf file using Mac OS XPostgresql:如何使用 Mac OS X 查找 pg_hba.conf 文件
【发布时间】:2012-12-11 03:34:25
【问题描述】:

您好,我在使用 postgres 时遇到问题。我不记得我的 postgres 密码,也不知道如何更改密码。我猜我应该更改一个月前设置的 md5 密码设置,但我不知道如何找到该文件并使用我的终端打开它。有人可以帮忙吗?

【问题讨论】:

    标签: postgresql


    【解决方案1】:

    如果可以连接,请使用SHOW hba_file;

    如果无法连接,则需要定位数据目录。这将显示为启动 PostgreSQL 的postgrespg_ctl 命令的-D 参数,因此您通常可以使用ps -ef | grep postgres 找到它。

    【讨论】:

    • 在我的 Mountain Lion Mac 上使用 EnterpriseDB.com 安装程序安装 Postgres 9.2 的示例结果:/Library/PostgreSQL/9.2/data/pg_hba.conf
    • 对于 mac 10.11,postgres 11.2 -> /usr/local/var/postgres/pg_hba.conf
    • 感谢@BasilBourque 我找到了数据目录,但无法访问。提示没有权限读取数据内容的错误。
    • @SharkDeng 为了增强安全性,该目录由安装 Postgres 时在系统上创建的用户帐户控制。除非您另有说明,否则该用户可能称为 postgres
    【解决方案2】:

    我最近学到的另一种方法是去终端输入:

    ps aux | grep postgres

    它显示了您机器上运行的所有 postgres 进程。从列表中,您应该会看到格式为... -D ... 的一个。例如:

    root            4155   0.0  0.0  2432908     68   ??  S     6May13   0:00.01 sudo su postgres -c /opt/local/lib/postgresql84/bin/postgres -D /opt/local/var/db/postgresql84/defaultdb -p 5432
    

    -D 表示目录。在终端中,执行sudo su,然后 cd 到该目录,您将找到 pg_hba.conf 文件。

    还有一种方法:

    转到您的终端并输入:locate pg_hba.conf。应该有一些结果。

    【讨论】:

    • 感谢有帮助的 ..link 为未来..
    • 在最新的 Postgres 9.x 中,它将位于 /data/ 目录中,如 /Library/PostgreSQL/9.4/data/pg_hba.conf
    猜你喜欢
    • 1970-01-01
    • 2012-01-06
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 2018-01-22
    相关资源
    最近更新 更多