When you run postgresql as root, the command it gives for putting in
your startup script is a little weird. The main issue is that 2>&1
only works in bash, not tcsh. >& works in both, so it seems
preferable. Another minor issue is that it echoes the command and
pipes it through su. Shouldn't this be "su - postgres -c 'cmd'"? Do
all versions of su have the '-c' argument? piping it through seems
weird, but maybe it isn't.
this is a straight diff for src/backend/main/main.c
--cut here--
38c38
< echo \"postmaster -B 256 >/var/log/pglog 2>&1 &\" | su - postgres\n\n"
---
> su - postgres -c 'postmaster -B 256 >& /var/log/pglog' &\n\n"
--cut here--