我通过Homebrew安装Postgres9.5.1。但是,我在使用" createdb"创建数据库时遇到问题。最初消息说:" createdb:命令未找到"。然后我卸载并安装Homebrew并更新Postgres。
然而,现在我收到一个新错误:
createdb: could not connect to database template1: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
我尝试了几件事,例如:
$rm /usr/local/var/postgres/postmaster.pid
回馈:
"许可被拒绝"
此外:
$postgres -D /usr/local/var/postgres
postgres cannot access the server configuration file "/usr/local/var/postgres/postgresql.conf": Permission denied
或者:
$grep unix_socket /usr/local/var/postgres/postgresql.conf
grep: /usr/local/var/postgres/postgresql.conf: Permission denied
我不知道该怎么做,我真的不明白发生了什么。感谢。
答案 0 :(得分:7)
在处理这个问题好几天后,我终于通过Homebrew卸载和安装Postgresql并启动服务器来解决它。我就这样做了:
确保Xcode(适用于Os X用户)是最新的
xcode-select --install
安装Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor
brew search
brew install postgres
brew update
应该安装Postgres。现在,请确保您拥有使用它所需的权限,这是通过允许您的用户获得此类权限来完成的:
sudo chown -R :admin /usr/local
应该解决权限问题。现在你(正如我所做的)可能面临与服务器相关的问题。
psql -U postgres -p 5432 -h localhost
这样可以解决问题:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
mv /usr/local/var/postgres /usr/local/var/postgres-deletemewhenitsallgood
initdb /usr/local/var/postgres -E utf8
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
或
rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
现在可以使用以下命令启动数据库服务器:
pg_ctl -D /usr/local/var/postgres -l logfile start
不要忘记将此命令行调整为您的特定案例和地址。
祝你好运