升级到Lion后,尝试启动Postgres服务器时出现以下错误:
pg_ctl:无法打开PID文件“/usr/local/var/postgres/postmaster.pid”:权限被拒绝
我也尝试重新运行initdb命令,但遇到了类似的问题:
initdb:无法访问目录“/ usr / local / var / postgres”:权限被拒绝
如果重要,PostgreSQL是通过Homebrew安装的。运行brew info postgresql
会产生预期的结果(版本,汇总的文档)。
答案 0 :(得分:5)
嗯,事实证明解决方案非常简单。我将/ usr / local / var上的组更改为staff(来自wheel)并将所有权(chown -R
)更改为我的系统帐户(来自root)。
之后,postgres开始很好。
我有点紧张改变这些权限,但我/ usr / local / var中唯一的东西是postgres目录,所以一切都应该很好。如果/ usr / local / var中有其他目录/文件,可能在chown'ing时不使用-R
标志?
Homebrew ruby安装程序脚本将/ usr / local / var组更改为staff,因此升级到Lion时必须撤消。虽然不确定所有权是root而不是我的系统帐户...
答案 1 :(得分:0)
sudo chown -R $(whoami)/ usr / local / var