@Craig Ringer, I am afraid I didn't understand your solution. The scenario I am having is a system which has only user as root. I have all the permissions and privileges of the system as the user is root. But pgsql doesn't allow initdb to be executed by root. I think the solution you proposed gives root permissions for a non-root user. But I believe, I am looking forward for the exact opposite of it. In other words, a possible work around for a root user to execute certain executable(s) as an unprivileged user.
On Sun, Jun 15, 2014 at 9:49 PM, Craig Ringer <cr...@2ndquadrant.com> wrote: > On 06/13/2014 07:08 AM, Shreesha wrote: > > I need to initialize the db as the root and start the database server > > Assuming there's no way around doing this (it's generally not a good > idea), you can just use the simple program 'fakeroot'. > > This program changes the return values from system calls via LD_PRELOAD, > so PostgreSQL thinks that the user it is running as isn't root. It's > commonly used in testing and packaging systems. > > http://man.he.net/man1/fakeroot > > -- > Craig Ringer http://www.2ndQuadrant.com/ > PostgreSQL Development, 24x7 Support, Training & Services > -- ~Shreesha.