*** a/src/backend/postmaster/postmaster.c
--- b/src/backend/postmaster/postmaster.c
***************
*** 3149,3161 **** SignalSomeChildren(int signal, int target)
  
  		if (bp->dead_end)
  			continue;
! 		if (!(target & BACKEND_TYPE_NORMAL) && !bp->is_autovacuum)
! 			continue;
! 		if (!(target & BACKEND_TYPE_AUTOVAC) && bp->is_autovacuum)
! 			continue;
! 		if (!(target & BACKEND_TYPE_WALSND) &&
! 			IsPostmasterChildWalSender(bp->child_slot))
! 			continue;
  
  		ereport(DEBUG4,
  				(errmsg_internal("sending signal %d to process %d",
--- 3149,3167 ----
  
  		if (bp->dead_end)
  			continue;
! 		if (!(target & BACKEND_TYPE_ALL))
! 		{
! 			int			child;
! 
! 			if (bp->is_autovacuum)
! 				child = BACKEND_TYPE_AUTOVAC;
! 			else if (IsPostmasterChildWalSender(bp->child_slot))
! 				child = BACKEND_TYPE_WALSND;
! 			else
! 				child = BACKEND_TYPE_NORMAL;
! 			if (!(target & child))
! 				continue;
! 		}
  
  		ereport(DEBUG4,
  				(errmsg_internal("sending signal %d to process %d",
***************
*** 4362,4374 **** CountChildren(int target)
  
  		if (bp->dead_end)
  			continue;
! 		if (!(target & BACKEND_TYPE_NORMAL) && !bp->is_autovacuum)
! 			continue;
! 		if (!(target & BACKEND_TYPE_AUTOVAC) && bp->is_autovacuum)
! 			continue;
! 		if (!(target & BACKEND_TYPE_WALSND) &&
! 			IsPostmasterChildWalSender(bp->child_slot))
! 			continue;
  
  		cnt++;
  	}
--- 4368,4386 ----
  
  		if (bp->dead_end)
  			continue;
! 		if (!(target & BACKEND_TYPE_ALL))
! 		{
! 			int			child;
! 
! 			if (bp->is_autovacuum)
! 				child = BACKEND_TYPE_AUTOVAC;
! 			else if (IsPostmasterChildWalSender(bp->child_slot))
! 				child = BACKEND_TYPE_WALSND;
! 			else
! 				child = BACKEND_TYPE_NORMAL;
! 			if (!(target & child))
! 				continue;
! 		}
  
  		cnt++;
  	}
