Brian Crowell <brian(at)fluggo(dot)com> writes:
> Which says to me coalesce has a selectivity.
Well, the point is you're just getting a default selectivity estimate
for the "acc.rule_set_id = coalesce(...anything...)" condition. The
planner is smarter about plain "x = y" join conditions: it looks up
the column stats for x and y and determines the probability of equality.
In principle I guess we could somehow merge the stats of y and z
when looking at a "coalesce(y, z)" expression, but I'm not sure
how that would work exactly.
regards, tom lane