PG12数据库更改数据目录

PG12数据库更改数据目录

  • 修改启动文件
  • 重载服务配置
  • 初始化数据库

修改启动文件

此处默认使用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一下,不然会报错:
PG12数据库更改数据目录_第1张图片

systemctl daemon-reload

初始化数据库

postgresql-setup initdb

在这里插入图片描述
初始化完成后启动服务:
PG12数据库更改数据目录_第2张图片

你可能感兴趣的:(运维,大数据,数据库,postgresql,database)