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
    点赞
  • 1
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

评论 1 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

书屋清茶

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值