PostgreSQL数据目录配置

PostgreSQL数据目录配置,postgresql,centos,systemd,Postgresql,Centos,Systemd,我正在使用CentOS的PostgreSQL。我更改了数据目录,将PostgreSQL数据存储在不同的磁盘上 nano /usr/lib/systemd/system/postgresql.service #Environment=PGDATA=/var/lib/pgsql/data Environment=PGDATA=/data/pgsql/data 但是,安装包更新后,配置文件的内容被更改回默认设置 以后每次安装包更新时是否需要检查配置文件?或者有没有办法保存配置文件?有两种方法可以处

我正在使用CentOS的PostgreSQL。我更改了数据目录,将PostgreSQL数据存储在不同的磁盘上

nano /usr/lib/systemd/system/postgresql.service

#Environment=PGDATA=/var/lib/pgsql/data
Environment=PGDATA=/data/pgsql/data
但是,安装包更新后,配置文件的内容被更改回默认设置


以后每次安装包更新时是否需要检查配置文件?或者有没有办法保存配置文件?

有两种方法可以处理此问题:

  • 老办法:

    您创建了一个文件
    /etc/systemd/system/postgresql.service
    ,其中包含

     .include /usr/lib/systemd/system/postgresql.service
    
     [Service]
     Environment=PGDATA=/data/pgsql/data
    
  • 新方法:

    您创建一个目录
    /etc/systemd/system/postgresql.service.d
    ,其中包含一个名为(例如)
    pgdata.conf的文件,其中包含

     [Service]
     Environment=PGDATA=/data/pgsql/data
    
  • 然后用

    systemctl daemon-reload
    

    此配置更改将覆盖
    /usr/lib/systemd/system/postgresql.service
    中的相应值,因此此更改将在升级后仍然有效。

    有两种方法可以解决此问题:

  • 老办法:

    您创建了一个文件
    /etc/systemd/system/postgresql.service
    ,其中包含

     .include /usr/lib/systemd/system/postgresql.service
    
     [Service]
     Environment=PGDATA=/data/pgsql/data
    
  • 新方法:

    您创建一个目录
    /etc/systemd/system/postgresql.service.d
    ,其中包含一个名为(例如)
    pgdata.conf的文件,其中包含

     [Service]
     Environment=PGDATA=/data/pgsql/data
    
  • 然后用

    systemctl daemon-reload
    

    此配置更改将覆盖
    /usr/lib/systemd/system/postgresql.service
    中的相应值,因此此更改将在升级后仍然有效。

    您应使用
    systemctl edit
    创建覆盖文件:您应使用
    systemctl edit
    创建覆盖文件: