Re: Bloated indexes from pg_restore? (Was: Index fillfactor changed in pg9?) - Mailing list pgsql-admin

From Tom Lane
Subject Re: Bloated indexes from pg_restore? (Was: Index fillfactor changed in pg9?)
Date
Msg-id 1424.1301934766@sss.pgh.pa.us
Whole thread Raw
In response to Re: Bloated indexes from pg_restore? (Was: Index fillfactor changed in pg9?)  (Glyn Astill <glynastill@yahoo.co.uk>)
Responses Re: Bloated indexes from pg_restore? (Was: Index fillfactor changed in pg9?)  (Glyn Astill <glynastill@yahoo.co.uk>)
List pgsql-admin
Glyn Astill <glynastill@yahoo.co.uk> writes:
> --- On Mon, 4/4/11, Tom Lane <tgl@sss.pgh.pa.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

pgsql-admin by date:

Previous
From: Glyn Astill
Date:
Subject: Re: Bloated indexes from pg_restore? (Was: Index fillfactor changed in pg9?)
Next
From: Glyn Astill
Date:
Subject: Re: Bloated indexes from pg_restore? (Was: Index fillfactor changed in pg9?)