FreeBSD下设置PostgreSQL自启动
google了一把,发现网上很少人把PostgreSQL自启动的方法写出来,能搜索到的,清一色都是使用port安装后, 然后在rc.conf中增加 postgresql_enable="YES" 就算是设置了自启动。 这个当然是对的,可是,除了通过port安装,还可以手动下载进行安装的啊,可是手工下载安装之后,却没有那样 的服务产生。如果要启动,通常是用postgres用户登录,然后 /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data & 即可启动。(注:数据目录是 /usr/local/pgsql/data) 但是,如何设置自启动呢?搜罗网上,还不少人这样问,可是回答很少有满意的, 大家都说设置 postgresql_enable 即可。…… 呵呵,让人很无奈。 也有人尝试在 rc.local 中加入 /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data & 可是依然是启动失败,原因很简单,FreeBSD启动时,默认都使用root用户运行这些命令,但偏偏 PostgreSQL是不允许使用root启动的,郁闷吧,呵呵。。 搞了那么久,现在最好的办法,就是通过root调用其它用户来执行这条命令,可行否?of course. 下面我简单写一下: 首先,用 root 进入 /etc 目录,查找有没有 rc.local 文件,如果没有,创建一个即可。 如果已经有 rc.local 文件,那么在最后面加上如下一行: su -m postgres -c '/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data &' 如果没有 rc.local 文件的,则创建一个,并且写入: #!/bin/tcsh su -m postgres -c '/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data &' 说明一下,这里 -m 后面的就是指定的执行用户,我这里是 postgres ,数据目录是 /usr/local/pgsql/data,各位可以根据自己的实际情况修改。 好了,重启一下,然后top查看,你会发现 PostgreSQL 已经启动了。 其实就很简单,无非就是通过root指定另外一个用户执行相应的命令而已。对于其它像 Linux系统,估计也都差不多,man su 一下,查看一下su命令的参数就知道了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |