Search Postgresql Archives

Re: Problem of installation on Mac

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

 



assume the tablename you want to determine privs and access is called 'TABLENAME'
SELECT priv, access_lvl FROM TABLENAME WHERE user = 'pgsql'

M--
----- Original Message -----
Sent: Friday, October 19, 2007 12:19 PM
Subject: Re: Problem of installation on Mac


If I understand correctly, the user "pgsql", besides having its own file system not related to others, is the administrator of the postgresql db administrator. Only "pgsql" can modify the db, but the other users can query the db but not modify it. Am I rigth? What I should do, if other users need to update the db. Thank you very much.






Shane Ambler <pgsql@xxxxxxxxxx>

10/19/2007 12:08 PM

To
Lizhe.Xu@xxxxxxxxxxxxxx
cc
pgsql-general@xxxxxxxxxxxxxx
Subject
Re: Problem of installation on Mac





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


[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