用于Postgres服务的Centos 7环境variables

最近我遇到了使用自定义PGDATApath启动postgresql服务的问题。 它试图查找未初始化的默认数据目录(/var/lib/pgsql/9.3/data/),因此触发了这些错误。 看来问题在于,CentOS 7上的服务启动器会去除所有的环境variables,包括PGDATA。

关于这个问题的有趣的线程

有没有办法configuration

service postgresql-9.3 start 

使用自定义的环境variables? 是否有configuration文件的服务,这些variables必须定义?

先谢谢你!

感谢上面的答案,我们今天刚刚遇到了这个变化。 您还可以保留默认设置,并通过在/etc/systemd/system/postgresql-9.3.service中添加以下内容来覆盖PGDATA变量:

 # Include the default config: .include /lib/systemd/system/postgresql-9.3.service [Service] Environment=PGDATA=<your path here>/pgsql/9.3/data 

这消除了将/usr/lib/systemd/system/postgresql-9.3.service中的更改重新集成到本地副本的需求。

好的,我有一个解决方案,为我工作。

 nano /etc/systemd/system/postgresql-9.3.service 

从/usr/lib/systemd/system/postgresql-9.3.service和PGDATA变量复制的内容被更改。 然后

 systemctl daemon-reload 

然后我开始正常的服务,它工作正常。 诀窍是修改这个服务配置文件。