We can always correctly transform a NOT IN to a correlated NOT EXISTS. In
almost all cases it is more efficient to do so. In the one case that we've
found that is slower it does come down to a more general costing issue, so
that's probably the right way to think about it.
-----
Jim Finnerty, AWS, Amazon Aurora PostgreSQL
--
Sent from: http://www.postgresql-archive.org/PostgreSQL-hackers-f1928748.html