At Wed, 27 Oct 2021 14:26:11 -0500, Justin Pryzby <pry...@telsasoft.com> wrote in > On Wed, Oct 27, 2021 at 07:05:10PM +0000, Bossart, Nathan wrote: > > My vote is to just change it to > > > > ereport(WARNING, > > (errmsg("autovacuum worker took too long to start; > > canceled"))); > > > > and call it a day. If we wanted to add errdetail(), I think we should > > make sure it is providing useful context, but I'm not sure what that > > might look like. > > I think that's fine.
+1 > Note that the backend_type is illuminating for those who use CSV logs, or use > P13+ and log_line_prefix += %b (see 70a7b4776). > > session_line | 1 > error_severity | WARNING > message | worker took too long to start; canceled > backend_type | autovacuum launcher Yeah, the additional "autovacuum" is not noisy at all even in that context. Some other messages are prefixed with "autovacuum". "could not fork autovacuum worker process: %m" "autovacuum worker started without a worker entry" By a quick look all occurances of "laucher" are prefixed with "autovacuum" or "logical replcaion", which seems fine. As a related topic, autovacuum.c has another use of bare "worker"s. > tmpcxt = AllocSetContextCreate(CurrentMemoryContext, > "Start > worker tmp cxt", > > ALLOCSET_DEFAULT_SIZES); > AutovacMemCxt = AllocSetContextCreate(TopMemoryContext, > > "AV worker", > > ALLOCSET_DEFAULT_SIZES); I'm not sure the former needs to be fixed, but the latter is actually visible to users via pg_log_backend_memory_contexts(). LOG: level: 1; AV worker: 8192 total in 1 blocks; 7928 free (0 chunks); 264 used regards. -- Kyotaro Horiguchi NTT Open Source Software Center