8.0 doesn't dump index tablespace correctly.

Started by TANIDA Yutakaabout 21 years ago2 messagesbugs
Jump to latest
#1TANIDA Yutaka
tanida@sra.co.jp

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 <tanida@sra.co.jp>

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: TANIDA Yutaka (#1)
Re: 8.0 doesn't dump index tablespace correctly.

TANIDA Yutaka <tanida@sra.co.jp> writes:

pg_dump on 8.0 can't dump index's tablespace information if both table
and its index 's tablespaces are different.

Good catch. Patch applied, thanks!

regards, tom lane