Re: dump/restore doesn't preserve row ordering?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: dump/restore doesn't preserve row ordering?
Date: 2016-08-24 01:43:43
Message-ID: 1591.1472003023@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Andres Freund <andres(at)anarazel(dot)de> writes:
> On 2016-08-23 17:22:03 -0400, Tom Lane wrote:
>> I can't immediately think of a reason for this. In everyday
>> updates you could theorize about effects like autovacuum
>> asynchonously updating the FSM, but surely the FSM should have no
>> impact on where COPY puts stuff when loading into an empty table.

> It seems possible that a larger row didn't fit on a page anymore, then
> later when a new page was is needed for a smaller row, the earlier page
> is found again. Due to RelationGetBufferForTuple() updating the fsm
> when an old target buffer is present:

Ah. That matches the symptoms --- small groups of rows are getting
relocated, seems like. And there's definitely a wide range of row
lengths in this data.

It's interesting that nobody has complained about this behavior.
Maybe the old fogies are all gone ...

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tsunakawa, Takayuki 2016-08-24 02:35:40 Re: [RFC] Change the default of update_process_title to off
Previous Message neha khatri 2016-08-24 01:40:31 Re: New SQL counter statistics view (pg_stat_sql)