Re: ALTER SYSTEM between upgrades

Daniel Gustafsson <daniel@yesql.se>

From: Daniel Gustafsson <daniel@yesql.se>
To: Bruce Momjian <bruce@momjian.us>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, PostgreSQL-documentation <pgsql-docs@postgresql.org>
Date: 2020-08-25T22:22:25Z
Lists: pgsql-hackers, pgsql-docs
> On 25 Aug 2020, at 21:30, Bruce Momjian <bruce@momjian.us> wrote:
> 
> On Tue, Jul 14, 2020 at 12:52:23PM +0200, Daniel Gustafsson wrote:
>>>> On 14 Jul 2020, at 01:58, Bruce Momjian <bruce@momjian.us> wrote:
>>> 
>>> I am creating a new thread to discuss the question raised by Alvaro of
>>> how many ALTER SYSTEM settings are lost during major upgrades.  Do we
>>> properly document that users should migrate their postgresql.conf _and_
>>> postgresql.auto.conf files during major upgrades?  I personally never
>>> thought of this until now.
>> 
>> Transferring postgresql.conf is discussed to some degree in the documentation
>> for pg_upgrade:
>> 
>>    11. Restore pg_hba.conf
>>    If you modified pg_hba.conf, restore its original settings.  It might
>>    also be necessary to adjust other configuration files in the new
>>    cluster to match the old cluster, e.g.  postgresql.conf.
>> 
>> .. as well as upgrading via pg_dumpall:
>> 
>>    4.  Restore your previous pg_hba.conf and any postgresql.conf
>>    modifications.
>> 
>> One can argue whether those bulletpoints are sufficient for stressing the
>> importance, but it's at least mentioned.  There is however no mention of
>> postgresql.auto.conf which clearly isn't helping anyone, so we should fix that.
>> 
>> Taking that a step further, maybe we should mention additional config files
>> which could be included via include directives?  There are tools out there who
>> avoid changing the users postgresql.conf by injecting an include directive
>> instead; they might've placed the included file alongside postgresql.conf.
> 
> I have developed the attached pg_upgrade doc patch to address this.

LGTM, thanks!

cheers ./daniel


Commits

  1. Add hash_mem_multiplier GUC.

  2. HashAgg: use better cardinality estimate for recursive spilling.

  3. Remove hashagg_avoid_disk_plan GUC.

  4. Doc fixup for hashagg_avoid_disk_plan GUC.

  5. Rework HashAgg GUCs.

  6. Disk-based Hash Aggregation.

  7. Implement partition-wise grouping/aggregation.

  8. Defer creation of partially-grouped relation until it's needed.