Skip to content

Commit 3f5863e

Browse files
committed
pg_upgrade: set vacuum_defer_cleanup_age to zero
Non-zero vacuum_defer_cleanup_age values cause pg_upgrade freezing of the system catalogs to be incomplete, or do nothing. This will cause the upgrade to fail in confusing ways. Reported-by: Laurenz Albe Discussion: https://postgr.es/m/7d6f6c22ba05ce0c526e9e8b7bfa8105e7da45e6.camel@cybertec.at Backpatch-through: 9.5
1 parent 5674eb9 commit 3f5863e

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/bin/pg_upgrade/server.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,9 @@ start_postmaster(ClusterInfo *cluster, bool report_and_exit_on_error)
239239
* we only modify the new cluster, so only use it there. If there is a
240240
* crash, the new cluster has to be recreated anyway. fsync=off is a big
241241
* win on ext4.
242+
*
243+
* Force vacuum_defer_cleanup_age to 0 on the new cluster, so that
244+
* vacuumdb --freeze actually freezes the tuples.
242245
*/
243246
snprintf(cmd, sizeof(cmd),
244247
"\"%s/pg_ctl\" -w -l \"%s\" -D \"%s\" -o \"-p %d%s%s %s%s\" start",
@@ -247,7 +250,7 @@ start_postmaster(ClusterInfo *cluster, bool report_and_exit_on_error)
247250
BINARY_UPGRADE_SERVER_FLAG_CAT_VER) ? " -b" :
248251
" -c autovacuum=off -c autovacuum_freeze_max_age=2000000000",
249252
(cluster == &new_cluster) ?
250-
" -c synchronous_commit=off -c fsync=off -c full_page_writes=off" : "",
253+
" -c synchronous_commit=off -c fsync=off -c full_page_writes=off -c vacuum_defer_cleanup_age=0" : "",
251254
cluster->pgopts ? cluster->pgopts : "", socket_string);
252255

253256
/*

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy