On Thu, Oct 21, 2021 at 7:28 PM Fujii Masao <masao.fu...@oss.nttdata.com> wrote: > > Hi, > > I'd like to propose to add new wait event reported while archiver process > is executing archive_command. This would be helpful to observe > what archiver is doing and check whether it has some troubles or not. > Thought? PoC patch attached. > > Also how about adding wait events for other commands like > archive_cleanup_command, restore_command and recovery_end_command?
+1 for the wait event. The following activitymsg that are being set to ps display in XLogFileRead and pgarch_archiveXlog have come up for one of our internal team discussions recently: snprintf(activitymsg, sizeof(activitymsg), "waiting for %s", xlogfname); set_ps_display(activitymsg); snprintf(activitymsg, sizeof(activitymsg), "recovering %s", xlogfname); set_ps_display(activitymsg); snprintf(activitymsg, sizeof(activitymsg), "archiving %s", xlog); set_ps_display(activitymsg); The ps display info might be useful if we run postgres on a stand alone box and there's someone monitoring at the ps output, but it doesn't help debugging after an issue has occurred. How about we have the following statements which will be useful for someone to look at the server logs and know what was/is happening during the recovery and archiving. IMO, we should also have the elog statement. elog(LOG, "waiting for %s", xlogfname); elog(LOG, "recovering %s"", xlogfname); elog(LOG, "archiving %s", xlog); Another idea could be to have a hook emitting the above info to outside components, but a hook just for this purpose isn't a great idea IMO. Thoughts? Regards, Bharath Rupireddy.