Thread: 8.0 doesn't dump index tablespace correctly.

8.0 doesn't dump index tablespace correctly.

From
TANIDA Yutaka
Date:
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>

Re: 8.0 doesn't dump index tablespace correctly.

From
Tom Lane
Date:
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