I discovered some weirdness when using Arch's postgres build. The first
one is a bug, the second is annoying:

1)

postgresql expects its configuration files in /usr/etc/postgresql/. It
doesn't install any files there by default, so namcap doesn't notice -
however, you can copy the sample files from /usr/share/postgresql to
this location. This must be fixed by appending --sysconfdir=/etc to the
configure options.

2)

postgresql puts its socket into /tmp/. This makes it impossible to use
postgres from any daemon that uses systemd's PrivateTmp=true. Sadly,
this is the default in some of our units. On a machine I maintain, I had
to remove PrivateTmp=true from php-fpm.service, on gudrun I had to
remove it from httpd.service.

This is easily fixed by either changing the location in postgresql.conf
(for this, see 1) above), or by putting a sane default into our package
(like Debian has been doing for ages).

IMO, we should to the following:
1) Change the default location from /tmp to /run/postgres.
2) Make sure that /run/postgres exists and is owned by the postgres
user, using tmpfiles.d.

This will affect the server and the client library, so everything should
just keep working without any further intervention by the user.

As Dan is the maintainer, he obviously gets the final word on this.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to