我在jail中安装了postgresql,添加到后它会自动启动postgresql_enable="YES"
) /etc/rc.conf
,但现在我无法停止它。
我尝试过/usr/local/etc/rc.d/postgresql stop
,但我得到:
pg_ctl: PID file "/usr/local/pgsql/data/postmaster.pid" does not exist
Is server running?
但它当然正在运行,我可以使用连接到它psql
,当我这样做时,ps ax|grep postgres
我得到:
15411 - SsJ 0:00.07 postgres: logger process (postgres)
15412 - SsJ 0:00.05 postgres: startup process (postgres)
15413 - SsJ 0:00.01 postgres: checkpointer process (postgres)
15414 - SsJ 0:00.02 postgres: writer process (postgres)
15415 - SsJ 0:00.00 postgres: stats collector process (postgres)
15410 2 SJ 0:00.17 /usr/local/bin/postgres -D /usr/local/pgsql/data
我需要从脚本中正常停止它,我该怎么做?
编辑:
我认为初始化脚本很混乱,因为我的data_directory
与默认的不同ConfigDir
,事实上,PID在我的文件中创建了data_directory
指向的文件/mnt/postgresql
。
答案1
我通过添加并将该字段保留为默认值来修复它postgresql_data="/mnt/postgresql"
(/etc/rc.conf
注释data_directory
并指向'ConfigDir'
:
#data_directory = 'ConfigDir'