Matthias Scheler <tron%zhadum.org.uk@localhost> writes:
why does "PGHOME", the location of the home directory of the PostgreSQL user,
default to "${PREFIX}/${PGUSER}"? "${VARBASE}/${PGUSER}" would be a much
better choice. And if that directory is really required why does the
package not create it?
I think it's mostly historical. But it's slightly awkward to change,
because upgrades from before to after have to cope.
/var is often a smallish filesystem, at least for those who practice
traditional Unix separate filesystems. Real databases, as opposed to
auxiliary data that is needed to run a system, really don't belong in
/var, but in some place the database administrator has chosen. pgsql
databases get very big quickly, compared to the sorts of things that are
usually in /var (two my /var filesystems are about 400M and 900M right
now). /usr/pkg/pgsql seems as good a place as any as a default and
works for casual use.
Another thought is that pgsql db doesn't really belong in var under
hier(7), but as "user data" someplace. Otherwise, why are user home
directories not under /var?
I think all in all this is really arguing for VARBASE not being /var,
but /usr/pkg/var - I think it's in general a bug for pkgsrc to put
anything other than under /usr/pkg, and to impose space requirements on
more than one place. So I'd like to see VARBASE migrated to
${PREFIX}/var before changing PGHOME.
/etc/rc.d/pgsql will create the directory when the server is started. I
have seen this work. But I don't think it would be bad for the package
to create it.
(Just my view; I realize this is a complicated situation and there are
probably as many opinions as people.)