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 [email protected]
Whole thread Raw
In response to Re: 9.2beta1 regression: pg_restore --data-only does not set sequence values any more  (Andrew Dunstan <[email protected]>)
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 <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>>     Martin Pitt <[email protected] <mailto:[email protected]>> 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: [email protected]
Date:
Subject: BUG #6665: problema com Grant