在 Mac 上启动 postgres 服务器
Posted
技术标签:
【中文标题】在 Mac 上启动 postgres 服务器【英文标题】:starting postgres server on Mac 【发布时间】:2015-03-30 16:29:27 【问题描述】:我第三次或第四次遇到此问题,在重新启动我的 Mac(优胜美地和与以前的 OSX 版本相同)后,postgres 服务器无法启动。我按照this 链接安装了我的postgres。知道为什么每次重新启动后都会出现这种情况吗?
输入psql
它给出了
psql: 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"?
【问题讨论】:
【参考方案1】:我刚刚在我的 Mac 上修复了这个问题。我使用自制软件安装 postgres。这些是我重新启动和运行所采取的步骤。
首先检查postgresql服务的状态:
pg_ctl -D /usr/local/var/postgres status
如果您看到此pg_ctl: no server running
,请卸载启动代理:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
然后移动您现有的 postgres 数据(移动而不是删除 - 便宜的保险):
mv /usr/local/var/postgres /usr/local/var/postgres-deletemewhenitsallgood
然后初始化你的 postgres 数据库:
initdb /usr/local/var/postgres -E utf8
然后加载您的启动代理:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
或者启动它:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
现在再次检查状态:
pg_ctl -D /usr/local/var/postgres status
如果你看到这样的东西,你就可以走了。
pg_ctl: server is running (PID: 61295)
/usr/local/Cellar/postgresql/bin/postgres "-D" "/usr/local/var/postgres"
然后你就可以进入你的 postgres 数据库了:
psql -d postgres
此外,您还需要添加 postgress 角色。 To Resolve missing postgres Role error
【讨论】:
这一系列命令假设询问者可以丢失所有数据库数据并从头开始重新启动,这在问题中从未提及。 安装好几次重启后OP说因为报错无法连接。如果有需要保存的数据,它仍然在文件系统上并且可以恢复。 @m79lkm 太棒了!!在这个问题上停留了 2 天后,它对我来说非常有效。保持良好的工作冠军! 虽然这个答案对我有帮助,但如果有重复的 psql 安装,一个用于 brew,另一个用于 osx,了解它会很有趣。我迷失在这方面。 在您看到这个问题之前发生了什么?这对我来说是经常发生的事情,我有 SO 线程书签。为什么我必须在整个 Postgres 数据存储中移动才能重新启动我的服务器?关于造成这种情况或如何预防的任何想法?我想对我来说,我更新了 Mac(这让我的电脑成为了苹果的 HOSTAGE)。【参考方案2】:在 mac 上启动 postgres 服务器:
用 brew 安装 postgres
brew install postgres
确保您拥有 /usr/local/postgres
的权限sudo chown -R `whoami` /usr/local
然后初始化数据库:
initdb /usr/local/var/postgres
让launchd
在登录时启动postgresql:
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
加载 postgresql:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
检查您的版本:
psql --version
并访问 postgres
psql -d postgres
【讨论】:
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
让它为我工作。谢谢以上是关于在 Mac 上启动 postgres 服务器的主要内容,如果未能解决你的问题,请参考以下文章
uWSGI、Flask、sqlalchemy 和 postgres:SSL 错误:解密失败或坏记录 mac