Centos7下源编译安装Postgresql 并设置开机自动启动postgresql.serivce 服务相关研究_可执行

 

编写开机自动启动服务脚本:

# cat >> /usr/lib/systemd/system/postgresql.service >> EOF





1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25


26


27


28


29


30


31


32


33


34




​[Unit]​


​Description=PostgreSQL database server​


​After=network.target​


 


​[Service]​


​Type=forking​


 


​User=postgres​


​Group=postgres​


 


​# Port number ​​​​for​​ ​​server to listen on​


​Environment=PGPORT=5432​


 


​# Location of database directory​


​Environment=PGDATA=/usr/local/pgsql9.4/data​


 


​# Where to send early-startup messages from the server (before the logging​


​# options of postgresql.conf take effect)​


​# This is normally controlled by the ​​​​global​​ ​​default​​ ​​set by systemd​


​# StandardOutput=syslog​


 


​# Disable OOM kill on the postmaster​


​OOMScoreAdjust=-1000​


 


​#ExecStartPre=/usr/local/pgsql9.4/bin/postgresql-check-db-dir ${PGDATA}​


​ExecStart=/usr/local/pgsql9.4/bin/pg_ctl start -D ${PGDATA} -s -o ​​​​"-p ${PGPORT}"​​ ​​-w -t 300​


​ExecStop=/usr/local/pgsql9.4/bin/pg_ctl stop -D ${PGDATA} -s -m fast​


​ExecReload=/usr/local/pgsql9.4/bin/pg_ctl reload -D ${PGDATA} -s​


 


​# Give a reasonable amount of time ​​​​for​​ ​​the server to start up/shut down​


​TimeoutSec=300​


 


​[Install]​


​WantedBy=multi-user.target​



EOF

 

添加可执行权限:





1




​chmod​​ ​​754 /usr/lib/systemd/system/postgresql.service​



 

设置为开机自启动:





1




​systemctl enable postgresql.service​



 

常用指令(以postgresql服务为例):

启动某服务: 





1




​systemctl  start  postgresql.service​



停止某服务:





1




​systemctl stop postgresql.service​



重启某服务:





1


2




​systemctl restart postgresql.service​


​service postgresql restart​



使某服务自动启动(如tomcat服务):





1




​systemctl enable postgresql.service​



使某服务不自动启动:





1




​systemctl disable postgresql.service​



检查服务状态:





1


2




​systemctl   status  postgresql.service (服务详细信息)​


​systemctl   is-active postgresql.service(仅显示是否Active)​



显示所有已启动的服务:





1




​systemctl   list-units --type=service​