参考:Centos 开机启动Openresty之中的Nginx
PostgrepSQL是通过源码编译安装,所以没有postgrepsql.service文件(通过yum install 命令安装就有这个文件)。
为了实现Centos7开机自动启动postgresql,
需要在/usr/lib/systemd/system目录下,创建postgresql.service文件
[Unit]
Description=PostgreSQL-12 database server
After=network.target
[Service]
Type=forking
User=postgres
Group=postgres
# Port number for server to listen on
Environment=PGPORT=5431
# Location of database directory
Environment=PGDATA=/pgs/usr/local/pgsql/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=/pgs/usr/local/pgsql/bin/postgresql-check-db-dir ${PGDATA}
ExecStart=/pgs/usr/local/pgsql/bin/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300
ExecStop=/pgs/usr/local/pgsql/bin/pg_ctl stop -D ${PGDATA} -s -m fast
ExecReload=/pgs/usr/local/pgsql/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
# 开机启动
systemctl enable postgresql.service