Centos 8.3, postgresql 12 (i tried even 10, same thing).

I have set the permission of the data directory to postgres:postgres. If I start the service from systemctl, it gives me the error message

"creation of lock file "postmaster.pid" failed: Permission denied".

If I copy the command from postgresql.service which is postmaster -D /data/pgdata and I run from the console as postgres user, it works, and the postmaster.pidfile is correctly created.

I have no ideas, because it's not a permission problem...

What am I missing?

  • Is the user that fails on startup a member of the postgres group? If not, make them one and try! – Vérace Jun 14 at 2:07
  • in the postgresql.service is correctly written postgres as user and postgres as group – Ciccio Pasticcio Jun 14 at 7:40

Ok, i understood.

It was a "problem" of selinux.

I changed the data directory, and selinux "didn't know" it, so i

chcon -R -t postgresql_db_t /data/pgdata

restorecon -RFv /data/pgdata.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.