Postgres服务的Centos 7环境变量

时间:2014-11-10 16:35:05

标签: linux postgresql centos postgresql-9.3 centos7

最近我遇到了使用自定义PGDATA路径启动postgresql服务的问题。它试图查看未初始化的默认数据目录(/var/lib/pgsql/9.3/data/),因此触发了这些错误。似乎问题是Centos 7上的服务启动器剥离了所有环境变量,包括PGDATA。

Interesting thread on the issue

有没有办法配置

service postgresql-9.3 start

使用自定义环境变量?是否有必须定义这些变量的服务的配置文件?

提前谢谢!

2 个答案:

答案 0 :(得分:13)

感谢上面的回答,我们今天刚刚遇到了这个变化。您还可以保留默认设置,并通过将以下内容放在 /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 中的更改重新集成回本地副本。

答案 1 :(得分:5)

好的,我找到了一个适合我的解决方案。

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

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

systemctl daemon-reload

然后我正常启动服务,它工作正常。诀窍是更改此服务配置文件。