PostgreSQL服务器不会停止。
PostgreSQL服务器不会停止。
我在Mac OS X 10.8.4上遇到了一些关于PostgreSQL的问题。当postgres服务器正在运行时,我不小心执行了brew rm postgresql --force
命令。当我使用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"?
当我运行"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
当我尝试使用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
编辑
which pg_ctl /usr/local/bin/pg_ctl pg_ctl --version pg_ctl (PostgreSQL) 9.2.4
server.log
的要点:https://gist.github.com/anonymous/6106182
问题原因:PostgreSQL服务器无法停止。
解决方法:运行以下命令:$ brew services list
$ brew services restart postgresql
如果上述方法无效,可以尝试以下解决方法:
1. 安装并使用gapple/services仓库,命令如下:
- $ brew tap gapple/services
- $ brew services
2. 参考链接https://apple.stackexchange.com/questions/150300/need-help-using-homebrew-services-command中的建议解决方法。
问题原因:在停止PostgreSQL服务器时,使用了错误的命令或者缺少了版本参数。
解决方法:使用正确的命令并添加版本参数。
最近我遇到了一个问题,就是无法停止PostgreSQL服务器。我尝试了不同的方法,但都没有成功。
首先,我尝试了使用以下命令来停止PostgreSQL服务器:
$ brew services stop postgresql
然而,服务器并没有立即停止。控制台上显示"Stopping postgresql, but it might take a while"。过了一段时间后,终于成功地停止了PostgreSQL服务器,显示"Successfully stopped postgresql"。
接着,我尝试使用pg_ctl ... stop
命令来停止服务器,但是仍然没有成功。
最后,我找到了解决方法。我运行了brew services stop postgresql
命令,并且加上了版本参数。这样,我再次尝试运行pg_ctl...stop
命令时,服务器成功地停止了。
我不确定为什么这个方法有效,但我很高兴它解决了问题。
总结一下,如果你遇到了无法停止PostgreSQL服务器的问题,可以尝试使用正确的命令并添加版本参数来解决。