On Wed, Feb 11, 2009 at 05:07:45PM +0100, Tony Berth wrote:
> On Wed, Feb 11, 2009 at 4:13 PM, Jason Dixon <ja...@dixongroup.net> wrote:
> 
> > On Wed, Feb 11, 2009 at 03:59:53PM +0100, Tony Berth wrote:
> > > Dear List,
> > >
> > > in a 4.4 box with Postgresql 8.3.3 I try to create a new tablespace in a
> > > different filesystem and get the following error:
> > >
> > > -----------------------------------------------
> > > template1=# CREATE TABLESPACE <tbspace-name> OWNER <DB-user> LOCATION
> > > '/home/<DB-user>/db';
> > > ERROR:  could not set permissions on directory "/home/<DB-user>/db":
> > > Permission denied
> > > -----------------------------------------------
> > >
> > > "/home/<DB-user>/db" does exist and belongs to <DB-user> who has the same
> > > name in Postgresql and in Unix!
> >
> > It sounds to me like "DB-user" is a role account.  Any filesystem-level
> > changes would probably be performed by the _postgresql user that the
> > database process runs at.
> >
> > http://www.postgresql.org/docs/8.3/static/manage-ag-tablespaces.html
> 
> I did assign that directory to '_postgresql' user too but I still get the
> same error!
> 
> <DB-user> is indeed a role account and a Unix user!
> 
> I can't connect via psql using '_postgresql'. I can only connect as
> 'postgres'!

Obviously you're doing something wrong.  But you're not showing us your
commands or the errors, so we're not going to be much help.

P.S.  I also suggest re-reading the PostgreSQL documentation.  You need
a better understanding of the role accounts and how they differ from the
system user postgresql runs as.

-- 
Jason Dixon
DixonGroup Consulting
http://www.dixongroup.net/

Reply via email to