Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit adc6032

Browse files
committed
Improve FATAL message for invalid TLI history at recovery
The original message did not mention where the checkpoint record LSN was found, a control file or a backup_label file. A couple of LOG messages are generated before this FATAL check is reached, providing more details about the way recovery is set up. However, knowing this information in this specific message is useful for debugging. This is also useful for instances where log_min_messages is set to FATAL or more, where LOG messages do not show up. Author: Benoit Lobréau <benoit.lobreau@dalibo.com> Reviewed-by: David Steele <david@pgbackrest.org> Discussion: https://postgr.es/m/4ed10bc8-5513-4d8e-8643-8abcaa08336d@dalibo.com
1 parent 6ee3b91 commit adc6032

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/backend/access/transam/xlogrecovery.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -849,7 +849,9 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr,
849849
ereport(FATAL,
850850
(errmsg("requested timeline %u is not a child of this server's history",
851851
recoveryTargetTLI),
852-
errdetail("Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X.",
852+
/* translator: %s is a backup_label file or a pg_control file */
853+
errdetail("Latest checkpoint in file \"%s\" is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X.",
854+
haveBackupLabel ? "backup_label" : "pg_control",
853855
LSN_FORMAT_ARGS(CheckPointLoc),
854856
CheckPointTLI,
855857
LSN_FORMAT_ARGS(switchpoint))));

0 commit comments

Comments
 (0)