Re: initdb problem

From: Joe Barwell <jbar(at)es(dot)co(dot)nz>
To: <pgsql-admin(at)postgresql(dot)org>
Subject: Re: initdb problem
Date: 2007-06-21 00:58:22
Message-ID: 4679cd2e.22.42fc.1545812171@ihug.co.nz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hello People,

My thanks to the several people who gave suggestions for how
to solve my initdb problem.

1. "Phillip Smith" <phillip(dot)smith(at)weatherbeeta(dot)com(dot)au>
suggested the problems stemmed from:

the 'postgres' user not having a correct shell login setup.
It looks like the home directory is set to /dev/null which
would explain all the "not a
directory" errors.

You'll need to edit the postgers user to have a proper login
shell
(/bin/bash maybe?).

I had previously been told something along these lines, and
so had already given postgres a shell of /bin/bash (using
NetInfo Manager). It is only since making that change that I
have been able to login as postgres at all. I note, however,
that postgres' home is still set to /dev/null, and would be
interested in trying to re-set that to something possibly
more useful, except I don't know what to use--any
suggestions, anyone?

2. "'James Herbers'" <james(at)herbers(dot)ca> suggested:

as root you have to chown /Library/postgreSQL8/ -R (this is
what you do in Linux).

As shown below, the binary installer for pg 8.2.4 seemed to
already set that up correctly:

Acorn:/Library/PostgreSQL8 root# ls -l
total 0
drwxr-xr-x 27 postgres admin 918 12 Jun 15:19 bin
drwx------ 2 postgres admin 68 11 Jun 08:10 data
drwxr-xr-x 3 postgres admin 102 12 Jun 15:19 doc
drwxr-xr-x 21 postgres admin 714 12 Jun 15:19 include
drwxr-xr-x 20 postgres admin 680 12 Jun 15:19 lib
drwxr-xr-x 3 postgres admin 102 11 Jun 08:10 log
drwxr-xr-x 4 postgres admin 136 12 Jun 15:19 man
drwxr-xr-x 3 postgres admin 102 12 Jun 15:19 share

James also suggested I should:

try this when changing to the postgres user:
su - postgres
the hyphen gives you an environment for the postgres user.

Unfortunately, I either used the wrong syntax, or it doesn't
work for some other reason:

Acorn:/Library/PostgreSQL8 root# su - postgres
su: no directory

I wonder whether the above line, and the following, relate
to the lack of a home for the postgres user?

Acorn:/Library/PostgreSQL8 root# su postgres
su: /dev/null/.bashrc: Not a directory

3. Another list member suggested off-list that:

If you run the command as
`sudo su postgres -c 'initdb'`
then it should run the command as the postgres user but not
require the
postgres account to be a full account, which it requires if
you just do
su postgres and then run the command seperately...

But I got the following:

Acorn:/Library/PostgreSQL8 root# sudo su postgres -c
'initdb'
su: line 1: initdb: command not found

When I tried that again, but as acorn (my username) instead
of root, terminal more promisingly said I had to specify the
directory. What finally appeared to work, was the following:

Acorn acorn 3 acorn$ sudo su postgres -c 'initdb -D
/Library/PostgreSQL8/data'

This gave me a pid, but looking in Activity Monitor that pid
does not appear (nor anything else that looks like pg).

I note that the directory /Library/PostgreSQL8/data/ still
contains nothing, so for example this fails:

pg_ctl start -l logfile -D /Library/PostgreSQL8/data
pg_ctl: could not open PID file
"/Library/PostgreSQL8/data/postmaster.pid": Permission
denied

I earlier downladed & installed the
Postgres_Startup_Item.pkg, but either initdb didn't really
work, or there's some other problem.

I guess what I'm asking now is: how do I know if initdb has
worked, and what do I do next to start pg?

Sorry for the length.

Cheers!

Joe

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Phillip Smith 2007-06-21 01:32:01 Re: initdb problem
Previous Message Scott Marlowe 2007-06-20 22:13:15 Re: [GENERAL] [PERFORM] Postgres VS Oracle