Re: ALTER SYSTEM between upgrades

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: Daniel Gustafsson <daniel@yesql.se>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, PostgreSQL-documentation <pgsql-docs@postgresql.org>
Date: 2020-08-25T18:59:50Z
Lists: pgsql-hackers, pgsql-docs

Attachments

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.

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EnterpriseDB                             https://enterprisedb.com

  The usefulness of a cup is in its emptiness, Bruce Lee

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.