Par*_*son 76 postgresql macos terminal
在Mac OS X 10.8.4上遇到PostgreSQL的一些问题.brew rm postgresql --force当postgres服务器运行时我不小心做了.当我安装使用brew install postgresql并运行时,pg_ctl -D /usr/local/var/postgres start我得到:
pg_ctl: another server might be running; trying to start server anyway
server starting
FATAL: lock file "postmaster.pid" already exists
HINT: Is another postmaster (PID 752) running in data directory "/usr/local/var/postgres"?
Run Code Online (Sandbox Code Playgroud)
当我运行"ps -ef | grep postgres"时,我得到:
501 752 235 0 12:42PM ?? 0:00.01 /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres -r /usr/local/var/postgres/server.log
501 754 752 0 12:42PM ?? 0:00.00 postgres: checkpointer process
501 755 752 0 12:42PM ?? 0:00.34 postgres: writer process
501 756 752 0 12:42PM ?? 0:00.02 postgres: wal writer process
501 757 752 0 12:42PM ?? 0:00.01 postgres: autovacuum launcher process
501 758 752 0 12:42PM ?? 0:00.01 postgres: stats collector process
501 945 452 0 12:58PM ttys000 0:00.00 grep postgres
Run Code Online (Sandbox Code Playgroud)
当我尝试停止服务器pg_ctl stop -D /usr/local/var/postgres -m fast或pg_ctl -D /usr/local/var/postgres stop -mi我得到:
waiting for server to shut down........................................... Failed
pg_ctl: server does not shut down
Run Code Online (Sandbox Code Playgroud)
编辑
which pg_ctl
/usr/local/bin/pg_ctl
pg_ctl --version
pg_ctl (PostgreSQL) 9.2.4
Run Code Online (Sandbox Code Playgroud)
要点server.log:https://gist.github.com/anonymous/6106182
Nea*_*ara 140
有同样的问题,pg_ctl: server does not shut down.此外,ps auxwww | grep postgres没有显示postgres运行,同时pg_ctl -D /usr/local/var/postgres status显示postgres正在运行.重新启动我的Mac并没有帮助,我甚至还要重置SMC,但是这个SO Q/A让我知道下一步该寻找什么:酿造问题.
按照这一思路,我发现这篇有用的博客文章,归结为以下命令为我解决了这个问题:
$ brew services list
$ brew services restart postgresql
Run Code Online (Sandbox Code Playgroud)
希望这会对某人有所帮助.
更新 - 未知命令:服务
在根据其中一条评论('未知命令:服务')进行了一些调查之后,我发现Homebrew的作者决定services从回购中删除,因为没有人想要维护这段代码.
你可以在这里和这里(相关的github门票)阅读更多相关信息.
经过一番挖掘,我发现这个回购添加services了macs.
这就是我'返回'的方式services:
~ » brew tap gapple/services
~ » brew services
usage: [sudo] brew services [--help] <command> [<formula>]
Small wrapper around `launchctl` for supported formulae, commands available:
cleanup Get rid of stale services and unused plists
list List all services managed by `brew services`
restart Gracefully restart selected service
start Start selected service
stop Stop selected service
Options, sudo and paths:
sudo When run as root, operates on /Library/LaunchDaemons (run at boot!)
Run at boot: /Library/LaunchDaemons
Run at login: /Users/user/Library/LaunchAgents
Run Code Online (Sandbox Code Playgroud)
这是另一个建议的解决方案:https://apple.stackexchange.com/questions/150300/need-help-using-homebrew-services-command.没有自己检查,所以不知道它是否以及如何工作.
rus*_*ust 35
$ brew services list
$ brew services stop postgresql
停止postgresql,但可能需要一段时间==>成功停止postgresql(标签:homebrew.mxcl.postgresql)
小智 12
我有类似的问题.我忘记了几天前我整合了'吃午餐'并且正在使用它作为启动包装器来启动plist ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist.由于以下代码行,pg_ctl无效<key>KeepAlive<key>:
<?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 <plist version="1.0">
4 <dict>
5 <key>KeepAlive</key>
6 <true/>
7 <key>Label</key>
8 <string>homebrew.mxcl.postgresql</string>
9 <key>ProgramArguments</key>
10 <array>
11 <string>/usr/local/opt/postgresql/bin/postgres</string>
12 <string>-D</string>
13 <string>/usr/local/var/postgres</string>
14 <string>-r</string>
15 <string>/usr/local/var/postgres/server.log</string>
16 </array>
17 <key>RunAtLoad</key>
18 <true/>
19 <key>WorkingDirectory</key>
20 <string>/usr/local</string>
21 <key>StandardErrorPath</key>
22 <string>/usr/local/var/postgres/server.log</string>
23 </dict>
24 </plist>
Run Code Online (Sandbox Code Playgroud)
试图直接杀死进程不起作用,因为我需要卸载plist.
launchctl unload homebrew.mxcl.postgresql.plist
Run Code Online (Sandbox Code Playgroud)
小智 11
我遇到了同样的问题...删除启动代理为我解决了问题:
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Run Code Online (Sandbox Code Playgroud)
原来我的brew.plist for postgres需要卸载并删除〜/ Library/LaunchAgents /.重启后一切都很好......结束问题.
小智 8
我使用该命令解决了这个错误
pg_ctl stop -m immediate
pg_ctl start
Run Code Online (Sandbox Code Playgroud)
我不需要以这种方式卸载plist.
当依赖brew安装的PostgreSQL时,以下命令可用于关闭它.
> brew services stop postgresql
stopping `postgresql`... (might take a while)
==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql)
Run Code Online (Sandbox Code Playgroud)
作为另一个答案通过进程列表grepping提到的,然后杀死任何Postgres的相关并没有工作.
ps aux | grep postgres
kill $PID
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57262 次 |
| 最近记录: |