Thread: initdb fails quietly

initdb fails quietly

From
"Michael Muratet US-Huntsville"
Date:

Greetings

I installed postgressql from RH a4_64 rpms. I created a user postgres (non-system UID) and tried to run initdb getting:

creating template1 database in /data1/postgres_data/base/1 ... child process exited with exit code 1
initdb: removing contents of data directory "/data1/postgres_data"

Can anyone point me to a log or other data source to try to understand what's going on?

Thanks

Mike

Re: initdb fails quietly

From
Tom Lane
Date:
"Michael Muratet US-Huntsville" <Michael.Muratet@operon.com> writes:
> I installed postgressql from RH a4_64 rpms. I created a user postgres =
> (non-system UID) and tried to run initdb getting:

> creating template1 database in /data1/postgres_data/base/1 ... child =
> process exited with exit code 1
> initdb: removing contents of data directory "/data1/postgres_data"

Do you have SELinux turned on?  Some of the earlier RHEL4 releases had
selinux rules that prevented /usr/bin/postgres from writing /dev/tty,
which is a reasonable rule for a daemon process but served to prevent
any error messages from appearing in interactive use :-(.  To get around
that you can either temporarily disable selinux, or update to a more
recent set of selinux policy rules.

As for the failure that it's not able to tell you about, that's probably
selinux as well.  I believe the standard policy constrains postgres to
write only under /var/lib/pgsql, which means you *must* put the database
in the default place, unless you want to modify the policy.

You could check in /var/log/messages for "avc denied" messages to
confirm these theories...

            regards, tom lane

Re: initdb fails quietly

From
"Michael Muratet US-Huntsville"
Date:
>
> Do you have SELinux turned on?  Some of the earlier RHEL4 releases had
> selinux rules that prevented /usr/bin/postgres from writing /dev/tty,
> which is a reasonable rule for a daemon process but served to prevent
> any error messages from appearing in interactive use :-(.  To
> get around
> that you can either temporarily disable selinux, or update to a more
> recent set of selinux policy rules.

Tom

Thanks, that was it. I didn't look there because I thought I already had it turned off. Works great now.

Thanks

Mike

>
> As for the failure that it's not able to tell you about,
> that's probably
> selinux as well.  I believe the standard policy constrains postgres to
> write only under /var/lib/pgsql, which means you *must* put
> the database
> in the default place, unless you want to modify the policy.
>
> You could check in /var/log/messages for "avc denied" messages to
> confirm these theories...
>
>             regards, tom lane
>