Re: pg_restore ignores -C when using a restore list -L

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Russell Smith <mr-russ(at)pws(dot)com(dot)au>
Cc: PostgreSQL-Bugs <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: pg_restore ignores -C when using a restore list -L
Date: 2010-05-14 17:26:06
Message-ID: 18669.1273857966@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Russell Smith <mr-russ(at)pws(dot)com(dot)au> writes:
>> By the operation of other items (-C --data-only) passed with -l, it only
>> produces to contents that would be restored with the other switches
>> provided. If that's expect behavior, then the documentation of the
>> switch is incorrect and should read something more like
>>
>> -l
>> --list List the items in the archive that would be restored
>> taking into account any other switches provided. The output of this
>> operation can be used with the -L option to further restrict and
>> reorder the items that are restored.

Yeah, -l is limited by other filtering switches, and this definitely
ought to be stated more clearly in the documentation. (The content
of the produced file implies it, since it says *Selected* TOC Entries,
but that's hardly clear enough.)

> Further to these comments, both scenarios should make -l or -L
> incompatibe with -C --data-only -I -n --schema-only -T -t -x as all
> these alter the contents of what is restored. You should either use the
> list to control the items restored or the switches. Using both just
> created confusion.

I believe that allowing the filter switches to act on -l is a useful
behavior, and anyway it's been like that for many years and nobody's
complained before. So I'm not excited about taking out the
functionality.

However, I think -C is a special case because it's quite un-obvious
to the user that it effectively acts as a filter switch --- in fact a
de-filtering switch, because the lack of -C is what filters out the
DATABASE item.

I'm inclined to think that we should document that the output of -l
is restricted by -n and similar switches, but change the code so that
-C doesn't affect -l output. Comments?

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2010-05-14 17:29:44 Re: Giant TOAST tables due to many almost empty pages
Previous Message Rumko 2010-05-14 17:17:53 Re: Giant TOAST tables due to many almost empty pages