Lizhe.Xu@xxxxxxxxxxxxxx wrote:
Thank you very much Shane. It fixed my problem, at least now :-).
I installed the pgsql 8.2.5 from source. The user "postgres" has a
shortname of "pgsql".
Another question, what's the purpose/advantage to create a user of
postgres? May I just create the database under my user account?
Technically you can run postgresql (and most other services) as almost
any user - the reason you don't is security - being run as pgsql it can
only read and write to files that that user account has access to. You
would normally only allow it to write in the data directory setup for
it. If it is hacked into it can only overwrite files in that one
directory not your entire system. If it only needs limited access to the
filesystem to run then don't give it access to everything.
This also works the other way - if the pgsql user is the only one with
read access to the data files then other users have trouble getting a
copy of them.
If you run ps aux (or activity monitor) you will see a few different
user names listed for different services.
Shane Ambler <pgsql@xxxxxxxxxx>
10/18/2007 01:27 PM
To
Lizhe.Xu@xxxxxxxxxxxxxx
cc
pgsql-general@xxxxxxxxxxxxxx
Subject
Re: Problem of installation on Mac
Lizhe.Xu@xxxxxxxxxxxxxx wrote:
Hi, I am a newbie for pgsql and tried to install it on my MacBookPro
Intel. I got everything correct until creating the user: postgres and
initdb, then the error message showed up for running the db. How to fix
the problem?
LizheXusComputer:/Users/lizhexu pgsql$ /usr/local/pgsql/bin/postgres -D
/usr/local/pgsql/data >logfile 2>&1 &
[1] 17837
LizheXusComputer:/Users/lizhexu pgsql$ su: logfile: Permission denied
[1]+ Exit 1 /usr/local/pgsql/bin/postgres -D
/usr/local/pgsql/data >logfile 2>&1
LizheXusComputer:/Users/lizhexu pgsql$ su lizhexu
Password:
LizheXusComputer:~ lizhexu$ /usr/local/pgsql/bin/postgres -D
/usr/local/pgsql/data >logfile 2>&1 &
[1] 17842
LizheXusComputer:~ lizhexu$ /usr/local/pgsql/bin/createdb test
createdb: could not connect to database postgres: could not connect to
server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
[1]+ Exit 2 /usr/local/pgsql/bin/postgres -D
/usr/local/pgsql/data >logfile 2>&1
Thank you very much.
L
I would say the problem is when you are logged in as pgsql the >logfile
part tries to put the log file in the current working directory
(/Users/lizhexu in your example). Your pgsql user doesn't have
permission to write the log file there. When you are logged in as
lizhexu you don't get permission to read the data files. Also it should
be >>logfile changing >logfile to >>/usr/local/pgsql/data/logfile will
most likely fix the problem.
I would suggest looking into contrib/start-scripts (from the source
distro) - look at PostgreSQL.darwin - the comments at the top should get
you started. These steps will have postgres running when you startup
your Mac.
You will need to change PGUSER="postgres" to PGUSER="pgsql", leave the
rest and try running it.
hint - with startup scripts if you don't want to restart you can use -
sudo /Library/StartupItems/PostgreSQL/PostgreSQL start
Also which version are you installing and did you get a binary package
somewhere or are you building from source?
--
Shane Ambler
pgSQL@xxxxxxxxxx
Get Sheeky @ http://Sheeky.Biz
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?
http://archives.postgresql.org/