Re: Bloated indexes from pg_restore? (Was: Index fillfactor changed in pg9?)

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Glyn Astill <glynastill(at)yahoo(dot)co(dot)uk>
Cc: Kenneth Marshall <ktm(at)rice(dot)edu>, pgsql-admin(at)postgresql(dot)org
Subject: Re: Bloated indexes from pg_restore? (Was: Index fillfactor changed in pg9?)
Date: 2011-04-04 16:32:46
Message-ID: 1424.1301934766@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Glyn Astill <glynastill(at)yahoo(dot)co(dot)uk> writes:
> --- On Mon, 4/4/11, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>> So it appears now that if I restore the database using
>>> pg_restore, I end up with bloated indexes, which are fixed
>>> with a vacuum full.
>>>
>>> The dump is a data only dump with the -Fc flag,

>> Data only dump? Then what is the state of the
>> database you're restoring it into?

> It's a newly created database from a schema only dump.

So the difference is that you have initially-empty indexes that are
filled incrementally, whereas an ordinary dump-and-restore would be
creating fresh indexes. Incremental filling of a btree is usually said
to result in about 66% fillfactor on average, 50% worst-case; whereas by
default I think we build fresh indexes at 90% fillfactor. You didn't
say how much "bloat" you were seeing, but if it's less than 2X I think
this is just expected. Unless the data is pretty static, it's useless
to hope that the fill factor will stay as high as 90% anyway.

regards, tom lane

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Glyn Astill 2011-04-04 19:35:17 Re: Bloated indexes from pg_restore? (Was: Index fillfactor changed in pg9?)
Previous Message Glyn Astill 2011-04-04 16:23:40 Re: Bloated indexes from pg_restore? (Was: Index fillfactor changed in pg9?)