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.
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
|