On Thu, Jul 10, 2014 at 2:30 PM, Jaime Casanova <ja...@2ndquadrant.com> wrote:
> On Thu, Jul 10, 2014 at 3:50 PM, Josh Berkus <j...@agliodbs.com> wrote: > > On 07/10/2014 12:20 PM, Alvaro Herrera wrote: > >>> So I guess the only thing left is to issue a NOTICE when said alter > >>> > takes place (I don't see that on the patch, but maybe it's there?) > >> That's not in the patch. I don't think we have an appropriate place to > >> emit such a notice. > > > > What do you mean by "don't have an appropriate place"? > > > > The suggestion is that when a user does: > > > > ALTER INDEX foo_minmax SET PAGES_PER_RANGE=100 > > > > they should get a NOTICE: > > > > "NOTICE: changes to pages per range will not take effect until the index > > is REINDEXed" > > > > otherwise, we're going to get a lot of "I Altered the pages per range, > > but performance didn't change" emails. > > > > How is this different from "ALTER TABLE foo SET (FILLFACTOR=80); " or > from "ALTER TABLE foo ALTER bar SET STORAGE EXTERNAL; " ? > > we don't get a notice for these cases either > I think those are different. They don't rewrite existing data in the table, but they are applied to new (and updated) data. My understanding is that changing PAGES_PER_RANGE will have no effect on future data until a re-index is done, even if the entire table eventually turns over. Cheers, Jeff