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命令的参数就知道了。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值