Re: [HACKERS] Re: initdb.sh fixed

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Re: [HACKERS] Re: initdb.sh fixed
Date: 1999-12-20 03:26:11
Message-ID: 17865.945660371@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> Seems either $USER or $LOGNAME should be set in all cases.

One or both is probably set in most shell environments ... but
it's not necessarily *right*. If you've su'd to postgres from
your login account, these env vars may still reflect your login.

> I am now using:
> POSTGRES_SUPERUSERID="`id -u 2>/dev/null || echo 0`"
> Let's see how portable that is?

Some quick experimentation shows that id -u isn't too trustworthy,
which is a shame because it's the POSIX standard. But I find that
the SunOS implementation ignores -u:

$ id -u
uid=6902(tgl) gid=50(users0) groups=50(users0)

And no doubt there will be platforms that haven't got "id" at all.

It might be best to provide a little bitty C program that calls
geteuid() and prints the result...

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1999-12-20 03:45:04 Re: [HACKERS] Re: initdb.sh fixed
Previous Message Tom Lane 1999-12-20 03:13:06 Re: [HACKERS] Re: [PATCHES] Lock