Re: pg_restore cannot restore an index - Mailing list pgsql-sql

From Tom Lane
Subject Re: pg_restore cannot restore an index
Date
Msg-id 26074.1042742057@sss.pgh.pa.us
Whole thread Raw
In response to Re: pg_restore cannot restore an index  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-sql
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Yes, I remember this. The code in 7.3 looks OK to me.  Can you show me a
> command line that fails for you?

It does in fact work for me --- if the object in question is recorded as
an INDEX in the dump.  These days, lots of things get recorded as
CONSTRAINTs instead.  For example, given 

create table t1 (f1 int primary key);
create table t2 (f1 int primary key);
create table foo(f1 int);
create index fooey on foo(f1);

I get a dump that has a TOC like

$ pg_restore -l z.dump
...
2; 149798 TABLE t1 postgres
3; 149802 TABLE t2 postgres
4; 149806 TABLE foo postgres
8; 149798 TABLE DATA t1 postgres
9; 149802 TABLE DATA t2 postgres
10; 149806 TABLE DATA foo postgres
7; 149808 INDEX fooey postgres
5; 149800 CONSTRAINT t1_pkey postgres
6; 149804 CONSTRAINT t2_pkey postgres

and the -I option will find "fooey", but not "t1_pkey" or "t2_pkey".

Perhaps the gripe is really that we need a "restore specific constraint"
option?  If so, should we overload -I or invent a separate switch?
        regards, tom lane


pgsql-sql by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: pg_restore cannot restore an index
Next
From: "Jie Liang"
Date:
Subject: Re: pg_restore cannot restore an index