On Wed, Feb 11, 2009 at 5:31 PM, Jason Dixon <ja...@dixongroup.net> wrote:
> On Wed, Feb 11, 2009 at 05:24:41PM +0100, Tony Berth wrote: > > 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. > > > > 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! > > Ok, let's try this one more time. Put yourself in my shoes. I'd like > to help, but you're giving me ZERO useful information. What else might > be useful? Perhaps to see the actual directory permissions? To see > your commands from the actual command-line, and not a re-typing of what > you *think* you ran? > > -- > Jason Dixon > DixonGroup Consulting > http://www.dixongroup.net/ > when using 'OWNER <DB-user>', the permissions of the directory were set to the UNIX '<DB-user>' and when using 'OWNER postgres' the permissions were set to '_postgresql'! Now this should be wrong but there is no UNIX user 'postgres' in OpenBSD! I tried exactly the same scenario in a debian box and it did work but there, I did have a UNIX 'postgres' user instead! I'll do the same thing all over again and I'll copy the commands and send to you in case I missed something! Thanks Tony