Search Postgresql Archives

Re: Problem of installation on Mac

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux