On Jul 2, 2006, at 9:55 AM, Joe wrote:
I'm now migrating to FreeBSD and was surprised to find that the port used 'pgsql' as the user. The maintainer said that was done to ensure backward compatibility because that *was* the original name. Since I didn't need to be backward compatible (and my Windows dbs already used 'postgres'), I tried to bypass that (sort of) requirement by renaming 'pgsql' to 'postgres' (in the passwd file) and changing the postgresql_user variable used in the rc startup file. That was OK until I tried to build 8.1.4_1. I figured out how to tweak the build files to stick with 'postgres' but then I realized I'd have to patch them every time I'd fetch a new build, so I went back to 'pgsql'.
if you want to use the freebsd ports system (which is advisable) don't fight against it. use the recommended/defaults where you can.
What I do, though, is set the PostgreSQL super user to be 'postgres' and let the unix system user remain 'pgsql' since the latter doesn't matter one bit. This is trivially done by altering the ~pgsql/.profile file and adding PGUSER=postgres and exporting that variable. Do this *before* you init the DB, then run initdb with this comand:
su - pgsql -c 'initdb -U postgres' From now on, any upgrades you do will no longer be so painful.