Re: [HACKERS] Re: 9.2beta1 regression: pg_restore --data-only does not set sequence values any more - Mailing list pgsql-bugs

From Andrew Dunstan
Subject Re: [HACKERS] Re: 9.2beta1 regression: pg_restore --data-only does not set sequence values any more
Date
Msg-id 4FBFCDC7.8070209@dunslane.net
Whole thread Raw
In response to Re: 9.2beta1 regression: pg_restore --data-only does not set sequence values any more  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: [HACKERS] Re: 9.2beta1 regression: pg_restore --data-only does not set sequence values any more
List pgsql-bugs

On 05/21/2012 02:59 PM, Andrew Dunstan wrote:
>
>
> On 05/16/2012 10:23 AM, Andrew Dunstan wrote:
>>
>>
>> On Wed, May 16, 2012 at 9:08 AM, Tom Lane <tgl@sss.pgh.pa.us
>> <mailto:tgl@sss.pgh.pa.us>> wrote:
>>
>>     Martin Pitt <mpitt@debian.org <mailto:mpitt@debian.org>> writes:
>> > while packaging 9.2 beta 1 for Debian/Ubuntu the postgresql-common
>> > test suite noticed a regression: It seems that pg_restore
>>     --data-only
>> > now skips the current value of sequences, so that in the upgraded
>> > database the sequence counter is back to the default.
>>
>>     I believe this is a consequence of commit
>>     a4cd6abcc901c1a8009c62a27f78696717bb8fe1, which introduced the
>>     entirely
>>     false assumption that --schema-only and --data-only have
>> something to
>>     do with the order that entries appear in the archive ...
>>
>>
>>
>> Darn, will investigate.
>>
>>
>
> [cc -hackers]
>
> Well, the trouble is that we have these pesky SECTION_NONE entries for
> things like comments, security labels and ACLs that need to be dumped
> in the right section, so we can't totally ignore the order. But we
> could (and probably should) ignore the order for making decisions
> about everything BUT those entries.
>
> So, here's a revised plan:
>
>     --section=data will dump exactly TABLE DATA, SEQUENCE SET or BLOBS
> entries
>     --section=pre-data will dump SECTION_PRE_DATA items (other than
> SEQUENCE SET) plus any immediately following SECTION_NONE items.
>     --section=post-data will dump everything else.
>
>



It turns out there were some infelicities with pg_dump as well as with
pg_restore.

I think the attached patch does the right thing. I'll keep testing -
I'll be happier if other people bang on it too.

cheers

andrew

Attachment

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: 9.1.3 backends getting stuck in 'startup'
Next
From: rammses.prateat@gmail.com
Date:
Subject: BUG #6665: problema com Grant