修改启动文件
此处默认使用RPM包将PG安装完成,默认会在/usr/lib/systemd/system/下创建一个postgresql.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/UNITNAME.service.d directory overriding the
# unit's defaults. Look at systemd.unit(5) manual page for more info.
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=notify
User=postgres
Group=postgres
# 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
# ... but allow it still to be effective for child processes
# (note that these settings are ignored by Postgres releases before 9.5)
Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
Environment=PG_OOM_ADJUST_VALUE=0
Environment=PGDATA=/var/lib/pgsql/data
ExecStartPre=/usr/libexec/postgresql-check-db-dir %N
# Even though the $PGDATA variable is exported (postmaster would accept that)
# use the -D option here so PGDATA content is printed by /bin/ps and by
# 'systemctl status'.
ExecStart=/usr/bin/postmaster -D ${PGDATA}
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
# No artificial start/stop timeout (rhbz#1525477, pgrpms#2786).
TimeoutSec=0
[Install]
WantedBy=multi-user.target
修改Environment=PGDATA=/var/lib/pgsql/data
这一行,如:
Environment=PGDATA=/data1/pgsql/data
重载服务配置
然后reload一下,不然会报错:
systemctl daemon-reload
初始化数据库
postgresql-setup initdb
初始化完成后启动服务: