Thread: How to modify the postgresql source code and build it?

How to modify the postgresql source code and build it?

From
Shreesha
Date:
Hello,
I need to initialize the db as the root and start the database server. In order to accomplish this, I modified the initdb.c source file of pgsql package and tried to compile it. Eventhough the build was successful, I couldn't see the root user able to execute initdb executable generated by the build. I wanted to know if there is any other procedure for building the postgresql procedure?

Thanks 
Shreesha.

P.S
Below is the changes done in initdb.c (shown in bold letters below)
-------------------------------------------------------------------------------------------------------------------------------
static char *
get_id(void)
{
#ifndef WIN32

        struct passwd *pw;

//      if (geteuid() == 0)                     /* 0 is root's uid */
/*      {
                fprintf(stderr,
                                _("%s: cannot be run as root\n"
                                  "Please log in (using, e.g., \"su\") as the "
                                  "(unprivileged) user that will\n"
                                  "own the server process.\n"),
                                progname);
                exit(1);
        }
*/
...
}

Re: How to modify the postgresql source code and build it?

From
Albe Laurenz
Date:
Shreesha wrote:
> I need to initialize the db as the root and start the database server.

There's the problem.  You shouldn't do that.
You don't want the database server to run as root.

Yours,
Laurenz Albe