Jerry Brenner <jbrenner@xxxxxxxxxxxxx> writes: > Is there any documentation on the semantics of $ variables in json explain > plans for both InitPlans and SubPlans in 13? I don't think there's anything much in the user-facing docs, which is somewhat unfortunate because it's confusing: the notation is overloaded. $N could be a parameter supplied from outside the query (as in your $1, $2 and $3 in the source text), but it could also be a parameter supplied from an outer query level to a subplan, or it could be the result value of an InitPlan. The numbering of outside-the-query parameters is disjoint from that of the other kind. > - It looks like $0 represents the value from the outer query block when > the correlated subquery is evaluated > - It looks like $1 represents the result of the subquery evaluation Yeah, I think you're right here. $0 evidently corresponds to qRoot.contactID from the outer plan, and the plan label itself shows that $1 carries the sub-select's value back out. This $1 is unrelated to the $1 you wrote in the query text. (It looks like this is a custom plan in which "67" was explicitly substituted for your $3. Presumably $1 and $2 were replaced as well; we don't do half-custom plans.) regards, tom lane