Thomas Munro <thomas.munro@gmail.com> writes:
> Makes sense. I tested this version on a primary and a replica and
> verified that parallel workers launch, but I saw that autovacuum
> workers still can't start without something like this:
> @@ -2463,7 +2463,8 @@ canAcceptConnections(int backend_type)
> * be returned until we have checked for too many children.
> */
> if (smartShutState != SMART_NORMAL_USAGE &&
> - backend_type != BACKEND_TYPE_BGWORKER)
> + backend_type != BACKEND_TYPE_BGWORKER &&
> + backend_type != BACKEND_TYPE_AUTOVAC)
Hmmm ... maybe that should be more like
if (smartShutState != SMART_NORMAL_USAGE &&
backend_type == BACKEND_TYPE_NORMAL)
(the adjacent comment needs adjustment too of course).
regards, tom lane