I'm trying to familiarize myself with Postgres (9.2) after a fair bit of MySQL (5.1) usage, since I've been bitten by a handful of MySQL's gotchas. However, in my first five minutes with Postgres I ran into one of its gotchas, which I'm sure hits everyone:
- By default, PostgreSQL converts everything that isn't quoted to lower case.
This isn't too big of a deal to me, since there are a couple of obvious workarounds:
- Encapsulate everything in quotes.
- Allow everything to be named in a lower case fashion.
But I'm wondering why. Considering how much contention I imagine this design decision causes, I'm surprised that I couldn't find any rationale on the internet. Does anybody have a thorough explanation, or preferably a link to some developer manifesto, as to why Postgres was designed this way? I'm interested.