What changed is the casing rules. We tried to be less proactive in figuring out what the programmer meant, and more "the programmer understands what he wants". In this case, postgresql is taking the lowercase as "ignore casing", so you got a bit lucky there (same with the old code). If you want to use exact casing, try placing quotes around the table name.

The underlying problem is that different db engines have vastly different meanings for unquoted names and case sensitivity. Rather than continuously getting it wrong (and special casing all over the place), we simplified, and let the database do what it does with unquoted, and leave it to the programmer to get it right (quote it if you're really concerned with case sensitivity).

Hope this helps.