最近我遇到了使用自定义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
然后我开始正常的服务,它工作正常。 诀窍是修改这个服务配置文件。