Since we're getting pretty close to the next set of back-branch releases, I went ahead and pushed a minimal fix along the lines suggested by Shi Yu. (I realized that there's a second ExecFindPartition call in worker.c that also needs a check.) We still can at leisure think about refactoring CheckSubscriptionRelkind to avoid unnecessary lookups. I think that is something we should do only in HEAD; it'll just be a marginal savings, not worth the risks of API changes in stable branches. The other loose end is whether to worry about a regression test case. I'm inclined not to bother. The only thing that isn't getting exercised is the actual ereport, which probably isn't in great need of routine testing.
regards, tom lane