【摘要】 当我们使用源码编译安装PostgreSQL数据库后,通常情况下是没有直接可使用的systemctl管理,若需要使用systemctl进行服务的管理,可进行以下配置:
环境:CentOS 7 数据库:PostgreSQL 11 systemctl管理脚本:/usr/lib/systemd/system/postgres11.service systemctl管理命…
当我们使用源码编译安装PostgreSQL数据库后,通常情况下是没有直接可使用的systemctl管理,若需要使用systemctl进行服务的管理,可进行以下配置:
环境:CentOS 7
数据库:PostgreSQL 11
systemctl管理脚本:/usr/lib/systemd/system/postgres11.service
systemctl管理命令:systemctl {status|restart|start|stop|reload} postgres11
具体操作如下:
-- 进入指定目录
[root@172-16-104-7 system]# pwd
/usr/lib/systemd/system
-- 编写systemctl服务脚本 ,
[root@172-16-104-7 system]# cat postgres11.service
# It's not recommended to modify this file in-place, because it will be
# overwritten during package upgrades. It is recommended to use systemd
# "dropin" feature; i.e. create file with suffix .conf under
# /etc/systemd/system/postgresql-11.service.d directory overriding the
# unit's defaults. You can also use "systemctl edit postgresql-11"
# Look at systemd.unit(5) manual page for more info.
# Note: changing PGDATA will typically require adjusting SELinux
# configuration as well.
# Note: do not use a PGDATA pathname containing spaces, or you will
# break postgresql-setup.
[Unit]
Description=PostgreSQL 11 database server
Documentation=https://www.postgresql.org/docs/11/static/
After=syslog.target
After=network.target
[Service]
Type=notify
User=postgres # 数据库启动属主
Group=postgres # 数据库启动属组
# Note: avoid inserting whitespace in these Environment= lines, or you may
# break postgresql-setup.
# Location of database directory
Environment=PGDATA=/pg_data/pgsql11/data/ # 数据库数据目录
Environment=PGPORT=5432 # 数据库端口
# 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
#Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
#Environment=PG_OOM_ADJUST_VALUE=0
ExecStart=/usr/local/pgsql11/bin/postmaster -D ${PGDATA} # start 对应命令
ExecStop=/usr/local/pgsql11/bin/pg_ctl stop -D ${PGDATA} -s -m fast # stop 对应命令 # ExecReload=/usr/local/pgsql11/bin/pg_ctl reload -D ${PGDATA} -s ExecReload=/bin/kill -HUP $MAINPID # reload 对应命令
KillMode=mixed
KillSignal=SIGINT
# Do not set any timeout value, so that systemd will not kill postmaster
# during crash recovery.
# TimeoutSec=0
TimeoutSec=300
[Install]
WantedBy=multi-user.target
-- 服务启停和状态检查
[root@172-16-104-7 system]# systemctl restart postgres11
[root@172-16-104-7 system]#
[root@172-16-104-7 system]# systemctl status postgres11
● postgres11.service - PostgreSQL 11 database server Loaded: loaded (/usr/lib/systemd/system/postgres11.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2021-05-14 16:20:14 CST; 8s ago Docs: https://www.postgresql.org/docs/11/static/
Process: 38896 ExecStop=/usr/local/pgsql11/bin/pg_ctl stop -D ${PGDATA} -s -m fast (code=exited, status=0/SUCCESS)
Main PID: 38898 (postmaster) CGroup: /system.slice/postgres11.service ├─38898 /usr/local/pgsql11/bin/postmaster -D /pg_data/pgsql11/data/ ├─38899 postgres: logger ├─38900 postgres: startup recovering 0000000A000000000000002D ├─38901 postgres: checkpointer ├─38902 postgres: background writer ├─38903 postgres: stats collector └─38904 postgres: walreceiver May 14 16:20:14 172-16-104-7 systemd[1]: Starting PostgreSQL 11 database server...
May 14 16:20:14 172-16-104-7 postmaster[38898]: 2021-05-14 16:20:14.893 CST [38898] LOG: listening on IPv4 address "0.0.0.0", port 5432
May 14 16:20:14 172-16-104-7 postmaster[38898]: 2021-05-14 16:20:14.893 CST [38898] LOG: listening on IPv6 address "::", port 5432
May 14 16:20:14 172-16-104-7 postmaster[38898]: 2021-05-14 16:20:14.896 CST [38898] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"
May 14 16:20:14 172-16-104-7 postmaster[38898]: 2021-05-14 16:20:14.917 CST [38898] LOG: redirecting log output to logging collector process
May 14 16:20:14 172-16-104-7 postmaster[38898]: 2021-05-14 16:20:14.917 CST [38898] HINT: Future log output will appear in directory "/pg_data/pgsql11/logs".
May 14 16:20:14 172-16-104-7 systemd[1]: Started PostgreSQL 11 database server.
文章来源: blog.csdn.net,作者:来呀,一起学习呀~,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_37692493/article/details/116795560
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END