[Pkg-postgresql-public] Bug#739276: Bug#739276: postgresql: Put pgstat in /var/run

Martin Pitt mpitt at debian.org
Fri Mar 7 13:21:11 UTC 2014


Christoph Berg [2014-03-07 13:40 +0100]:
> pg_createcluster will still want to write to /etc/postgresql which is
> owned by postgres, so the stats_temp_directory doesn't make the
> situation worse.

That's different, though. If you use /etc/postgresql/ then
pg_createcluster of course still needs to run as root, but if you
specify a different owner than postgres, the cluster won't be able to
start. You can also do this entirely as user by setting
$PG_CLUSTER_CONF_ROOT.

> > One idea is to add a new "%s" macro to the evaluation of
> > createcluster.conf which expands to the used socket dir, and set
> > stats_temp_directory = '%s/%v-%c_stat_tmp'. That's a little more
> > complex, but always ought to work since we know that the socket dir is
> > writable.
> 
> For non-postgres clusters, the socket dir will be /tmp, which isn't a
> tmpfs at least on my machine (I forgot which default Debian really
> decided on in that flameware).

Yes, this approach would keep the status quo for non-postgres
clusters.

> > A simpler solution might be to use /var/run/lock/ instead, which is
> > world-writable (same permissions as /tmp/). It's just a bit of an
> > abuse as these are not really lock files.
> 
> /var/run/lock wouldn't work because it's too small (5120k here).

*nod*

> I think this, and the %s idea are too complex for the resulting
> effect. Imho what Christian proposed is just the right approach,
> people can still disable it in createcluster.conf.

Then we need to ignore the option in pg_createcluster if the owner
cannot write to it. It's special-casing a known option, but it's
certainly doable.

Martin
-- 
Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)



More information about the Pkg-postgresql-public mailing list