我正在使用http://postgresapp.com.在菜单栏中,它给出错误"无法在端口5432上启动".同样,如果我尝试从终端启动服务器,我得到:
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"?
Run Code Online (Sandbox Code Playgroud)
我也运行pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
并获得输出server starting但在连接到psql时仍然会得到相同的错误.
Max*_*pel 46
如果您在macOS计算机上运行服务器并通过Homebrew安装Postgres,则可以像下面这样停止当前实例:
brew服务停止postgresql
然后单击菜单栏中的Elephant,它应该成功启动.
Нек*_*кто 31
您可以通过查找PID来停止该过程
lsof -i :5432
Run Code Online (Sandbox Code Playgroud)
然后用它杀死它
kill -9 <PID>
Run Code Online (Sandbox Code Playgroud)
eez*_*zis 23
我只是遇到了这个问题.当我运行which psql它时指向与Lion一起安装的Postgres客户端工具:
/usr/bin/psql
使用Frank Wiles的提示我跑去ps auxw | grep post确认postgres正在运行并且它正在正确的端口上运行,这也向我展示了postgres.app路径:
/Applications/Postgres.app/Contents/MacOS/bin/postgres.
所以我编辑.bash_profile来导出该目录.在第一次努力时,我将它添加到路径的末尾.当我跑步时,echo $PATH我可以看到usr/bin是路径中的第一件事,并且which psql仍然给出了/usr/bin路径.那时,一位朋友指导我正确的方向:
export PATH="/Applications/Postgres.app/Contents/MacOS/bin:${PATH}"
启动一个新的终端窗口,然后运行which psql- 它应该指向postgres.app位置,psql应该启动postgres shell.现在工作正常.
Jam*_*ren 18
如果您通过其他方法(例如,来自www.postgresql.org)安装了Postgres并且它在启动时自动启动,则可以通过以下方式阻止Postgres启动:
sudo launchctl unload /Library/LaunchDaemons/com.edb.launchd.postgresql-X.X.plist
sudo rm -f /Library/LaunchDaemons/com.edb.launchd.postgresql-X.X.plist
Run Code Online (Sandbox Code Playgroud)
提示:使用选项卡在com.edu.launchd部件后自动完成以确定要加载的版本.
重新启动Postgres.app,你应该好好去.
(来自http://forums.enterprisedb.com/posts/list/1831.page;jsessionid=70621DC48C99EDE663A6A594B05F1A02#6782)
Dan*_*ell 16
我已经尝试了解决这个问题的每个解决方案.对我来说,即使计算机已经在睡觉,我的MacBook电池也会死机.我正在~/Library/Application\ Support/Postgres/var-9.4探索,我发现了另一个postmaster.pid我以前没见过的文件.我删除了它,现在一切都恢复正常!我正在运行Postgres.app版本,而不是brew版本.
我采取的步骤:
postgres.app没有运行.rm ~/Library/Application\ Support/Postgres/var-9.$X/postmaster.pidvar-9.$X目录,请运行rm ~/Library/Application\ Support/Postgres/postmaster.pidpostgres.app小智 14
你有另一个postgres运行实例,这是唯一对这个端口感兴趣的应用程序.您应该使用netstat和ps来确定这一点.然后停止实例并卸载它,你可能已经安装了enterpiseDb,这就是我所做的.
Aar*_*ker 13
此命令是单行命令,可立即终止所有 PostgresSQL 进程。
sudo kill -kill $(sudo lsof -t -i :5432)
Run Code Online (Sandbox Code Playgroud)
这解决了我在 Mac OSX Mojave 10.14.1 上的所有问题。
这对我有用: $ sudo pkill -u postgres
此资源的道具: https://github.com/PostgresApp/PostgresApp/issues/197#issuecomment-474534056
我通常在我的 mac 上遇到这个问题,这总是为我解决
rm /usr/local/var/postgres/postmaster.pid
brew services restart postgresql
Run Code Online (Sandbox Code Playgroud)
希望这有帮助
我有一个类似的问题,我无法连接到Postgres.app,即使应用程序本身说它正在端口5432上运行.
我不知道为什么,但即使我退出应用程序并检查没有运行ps -a的postgres进程.这些文件存在:
/tmp/.s.PGSQL.5432
Run Code Online (Sandbox Code Playgroud)
和
/tmp/.s.PGSQL.5432.lock
Run Code Online (Sandbox Code Playgroud)
我的解决方案是删除这些文件,然后再次启动postgres.app.
也可能发生PID被采用.当计算机遭遇意外重启时,这发生在我身上.
如果是这样,你必须去:
˜/Library/Application Support/Postgres/var-9.4
Run Code Online (Sandbox Code Playgroud)
您可以在Postgres.app首选项对话框中检查该路径.
然后,只需删除pid文件
sudo rm postmaster.pid
Run Code Online (Sandbox Code Playgroud)
服务器立即启动.
| 归档时间: |
|
| 查看次数: |
64463 次 |
| 最近记录: |