Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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)