简体   繁体   中英

Centos 7 environment variables for Postgres service

Recently I had the problem of starting a postgresql service with custom PGDATA path. It tried to look in the default data directory (/var/lib/pgsql/9.3/data/) which was not initialized and therefore triggered these errors. It appears the problem is that the service starter on Centos 7 strips all the environment variables, including PGDATA.

Interesting thread on the issue

Is there a way to configure

service postgresql-9.3 start

to use custom environment variables? Are there configuration files for services where these variables have to be defined?

Thank you in advance!

Thanks for the above answer, we just ran into this change today. You can also keep the default settings and only override the PGDATA variable by putting the following in /etc/systemd/system/postgresql-9.3.service :

# Include the default config:
.include /lib/systemd/system/postgresql-9.3.service

[Service]
Environment=PGDATA=<your path here>/pgsql/9.3/data

This removes the need to reintegrate changes in /usr/lib/systemd/system/postgresql-9.3.service back to your local copy.

OK, I got a solution that worked for me.

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

with the contents copied over from /usr/lib/systemd/system/postgresql-9.3.service and PGDATA variable changed. Then

systemctl daemon-reload

And then I started the service normally and it worked fine. The trick was making changes to this service configuration file.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM