Re: [PATCHES] ALTER TABLE ... SET TABLESPACE - Mailing list pgsql-hackers

From Tatsuo Ishii
Subject Re: [PATCHES] ALTER TABLE ... SET TABLESPACE
Date
Msg-id 20040621.074444.104031287.t-ishii@sra.co.jp
Whole thread Raw
In response to Re: [PATCHES] ALTER TABLE ... SET TABLESPACE  (Gavin Sherry <swm@linuxworld.com.au>)
Responses Re: [PATCHES] ALTER TABLE ... SET TABLESPACE
List pgsql-hackers
> On Sun, 20 Jun 2004, Tatsuo Ishii wrote:
> 
> > > > Attached is a patch implementing this functionality.
> > > >
> > > > I've modified make_new_heap() as well as swap_relfilenodes() to not assume
> > > > that tablespaces remain the same from old to new heap. I thought it better
> > > > to go down this road than introduce a lot of duplicate code.
> > >
> > > I have tried your patches and it works great. Thanks.
> > >
> > > One thing I noticed was if I change tablespace for a table having
> > > indexes, they are left in the old tablespace and the table itself was
> > > moved to the new tablespace. I regard this is a good thing since I
> > > could assign different table spaces for table and indexes.
> > > It would be even better to assign different tablespaces for each
> > > index.
> >
> > Hm. It seems there's a problem with tablespaces. What I did was:
> >
> > pgbench -i test
> > alter table accounts set tablespace mydb2;
> > \d accounts
> >
> > backend crashes by signal 11...
> 
> I seem to be clobbering memory some where but I cannot get assert or
> valgrind to tell me. Anyone got any ideas?

First of all I would like to ask you if you intend to leave indexes in
the old tables space or not.

Also I think we need to enhance ALTER INDEX to assign new table spaces
for indexes. Assigning different tables spaces for tables and indexes
are essential to gain more I/O speed IMO.
--
Tatsuo Ishii


pgsql-hackers by date:

Previous
From: Gavin Sherry
Date:
Subject: Re: [PATCHES] ALTER TABLE ... SET TABLESPACE
Next
From: Gavin Sherry
Date:
Subject: Re: [PATCHES] ALTER TABLE ... SET TABLESPACE