> > 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...
--
Tatsuo Ishii