mirror of
https://github.com/postgres/postgres.git
synced 2025-11-22 12:22:45 +03:00
Add macro for customizing an archiving WARNING message.
Presently, if an archive module's check_configured_cb callback returns false, a generic WARNING message is emitted, which unfortunately provides no actionable details about the reason why the module is not configured. This commit introduces a macro that archive module authors can use to add a DETAIL line to this WARNING message. Co-authored-by: Tung Nguyen Reviewed-by: Daniel Gustafsson, Álvaro Herrera Discussion: https://postgr.es/m/4109578306242a7cd5661171647e11b2%40oss.nttdata.com
This commit is contained in:
@@ -88,6 +88,7 @@ typedef struct PgArchData
|
||||
} PgArchData;
|
||||
|
||||
char *XLogArchiveLibrary = "";
|
||||
char *arch_module_check_errdetail_string;
|
||||
|
||||
|
||||
/* ----------
|
||||
@@ -401,12 +402,17 @@ pgarch_ArchiverCopyLoop(void)
|
||||
*/
|
||||
HandlePgArchInterrupts();
|
||||
|
||||
/* Reset variables that might be set by the callback */
|
||||
arch_module_check_errdetail_string = NULL;
|
||||
|
||||
/* can't do anything if not configured ... */
|
||||
if (ArchiveCallbacks->check_configured_cb != NULL &&
|
||||
!ArchiveCallbacks->check_configured_cb(archive_module_state))
|
||||
{
|
||||
ereport(WARNING,
|
||||
(errmsg("archive_mode enabled, yet archiving is not configured")));
|
||||
(errmsg("archive_mode enabled, yet archiving is not configured"),
|
||||
arch_module_check_errdetail_string ?
|
||||
errdetail_internal("%s", arch_module_check_errdetail_string) : 0));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user