Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0efdbd3

Browse files
committed
pg_upgrade: start/stop new server after pg_resetwal
When commit0f33a71 removed theinstructions to start/stop the new cluster before running rsync, it wasnow possible for pg_resetwal/pg_resetxlog to leave the final WAL recordat wal_level=minimum, preventing upgraded standby servers fromreconnecting.This patch fixes that by having pg_upgrade unconditionally start/stopthe new cluster after pg_resetwal/pg_resetxlog has run.Backpatch through 9.2 since, though the instructions were added in PG9.5, they worked all the way back to 9.2.Discussion:https://postgr.es/m/20170620171844.GC24975@momjian.usBackpatch-through: 9.2
1 parent1dce053 commit0efdbd3

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

‎src/bin/pg_upgrade/check.c

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -164,15 +164,21 @@ report_clusters_compatible(void)
164164

165165

166166
void
167-
issue_warnings(void)
167+
issue_warnings_and_set_wal_level(void)
168168
{
169+
/*
170+
* We unconditionally start/stop the new server because pg_resetwal -o
171+
* set wal_level to 'minimum'. If the user is upgrading standby
172+
* servers using the rsync instructions, they will need pg_upgrade
173+
* to write its final WAL record showing wal_level as 'replica'.
174+
*/
175+
start_postmaster(&new_cluster, true);
176+
169177
/* Create dummy large object permissions for old < PG 9.0? */
170178
if (GET_MAJOR_VERSION(old_cluster.major_version) <=804)
171-
{
172-
start_postmaster(&new_cluster, true);
173179
new_9_0_populate_pg_largeobject_metadata(&new_cluster, false);
174-
stop_postmaster(false);
175-
}
180+
181+
stop_postmaster(false);
176182
}
177183

178184

‎src/bin/pg_upgrade/pg_upgrade.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ main(int argc, char **argv)
160160
create_script_for_cluster_analyze(&analyze_script_file_name);
161161
create_script_for_old_cluster_deletion(&deletion_script_file_name);
162162

163-
issue_warnings();
163+
issue_warnings_and_set_wal_level();
164164

165165
pg_log(PG_REPORT,"\nUpgrade Complete\n");
166166
pg_log(PG_REPORT,"----------------\n");

‎src/bin/pg_upgrade/pg_upgrade.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ voidoutput_check_banner(bool live_check);
334334
voidcheck_and_dump_old_cluster(boollive_check);
335335
voidcheck_new_cluster(void);
336336
voidreport_clusters_compatible(void);
337-
voidissue_warnings(void);
337+
voidissue_warnings_and_set_wal_level(void);
338338
voidoutput_completion_banner(char*analyze_script_file_name,
339339
char*deletion_script_file_name);
340340
voidcheck_cluster_versions(void);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp