Hi, pg_dump on 8.0 can't dump index's tablespace information if both table and its index 's tablespaces are different. For example:
create table a(i int) tablespace ts1; create index a_idx on a (i) tablespace ts2; create index a_idx2 on a (i) tablespace pg_default; Assuming tablespace ts1 ans ts2 were defined. If dump and restore them , tablespace of a_idx and a_idx2 was ts1 , which is a's tablespace ,not index's one . Here's a patch . *** pg_dump.c.orig 2005-01-20 15:14:28.000000000 +0900 --- pg_dump.c 2005-01-20 15:14:53.000000000 +0900 *************** *** 6899,6905 **** ArchiveEntry(fout, indxinfo->dobj.catId, indxinfo->dobj.dumpId, indxinfo->dobj.name, tbinfo->dobj.namespace->dobj.name, ! tbinfo->reltablespace, tbinfo->usename, false, "INDEX", q->data, delq->data, NULL, indxinfo->dobj.dependencies, indxinfo->dobj.nDeps, --- 6899,6905 ---- ArchiveEntry(fout, indxinfo->dobj.catId, indxinfo->dobj.dumpId, indxinfo->dobj.name, tbinfo->dobj.namespace->dobj.name, ! indxinfo->tablespace, tbinfo->usename, false, "INDEX", q->data, delq->data, NULL, indxinfo->dobj.dependencies, indxinfo->dobj.nDeps, -- TANIDA Yutaka <[EMAIL PROTECTED]> ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster