Centos7下源编译安装Postgresql 并设置开机自动启动postgresql.serivce 服务相关研究
编写开机自动启动服务脚本:
# cat >> /usr/lib/systemd/system/postgresql.service >> EOF
[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
添加可执行权限:
chmod 754 /usr/lib/systemd/system/postgresql.service
设置为开机自启动:
systemctl enable postgresql.service
常用指令(以postgresql服务为例):
启动某服务:
systemctl start postgresql.service
停止某服务:
systemctl stop postgresql.service
重启某服务:
systemctl restart postgresql.service service postgresql restart
使某服务自动启动(如tomcat服务):
systemctl enable postgresql.service
使某服务不自动启动:
systemctl disable postgresql.service
检查服务状态:
systemctl status postgresql.service (服务详细信息) systemctl is-active postgresql.service(仅显示是否Active)
显示所有已启动的服务:
systemctl list-units --type=service