On Wed, Feb 11, 2009 at 5:17 PM, Jason Dixon <ja...@dixongroup.net> wrote:
> 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/ > I did the following: - as '_postgresql' UNIX user I issued psql -d template1 postgres - then issued twice the CREATE TABLESPACE cmd as already described and got the error (with OWNER defined both 'postgres' and '<DB-user>') that's all I did! Thanks Tony