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

Reply via email to