Tom Lane escribió: In patch 0003,
> /* > - * Was it the archiver? If so, just try to start a new one; no > need > - * to force reset of the rest of the system. (If fail, we'll > try > - * again in future cycles of the main loop.). Unless we were > waiting > - * for it to shut down; don't restart it in that case, and > - * PostmasterStateMachine() will advance to the next shutdown > step. > + * Was it the archiver? Normal exit can be ignored; we'll > start a new > + * one at the next iteration of the postmaster's main loop, if > + * necessary. Any other exit condition is treated as a crash. > */ > if (pid == PgArchPID) > { > PgArchPID = 0; > if (!EXIT_STATUS_0(exitstatus)) > - LogChildExit(LOG, _("archiver process"), > - pid, exitstatus); > - if (PgArchStartupAllowed()) > - PgArchPID = pgarch_start(); > + HandleChildCrash(pid, exitstatus, > + _("archiver > process")); > continue; > } I'm worried that we're causing all processes to terminate when an archiver dies in some ugly way; but in the current coding, it's pretty harmless and we'd just start a new one. I think this needs to be reconsidered. As far as I know, pgarchiver remains unconnected to shared memory so a crash-restart cycle is not necessary. We should continue to just log the error message and move on. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services