在使用了相当多的 MySQL (5.1) 之后,我正试图让自己熟悉 Postgres (9.2),因为我已经被一些MySQL 的陷阱咬住了。然而,在我使用 Postgres 的前五分钟里,我遇到了它的一个陷阱,我相信每个人都会遇到这个问题:
- 默认情况下,PostgreSQL 将所有未引用的内容转换为小写。
这对我来说没什么大不了的,因为有几个明显的解决方法:
- 将所有内容封装在引号中。
- 允许以小写方式命名所有内容。
但我想知道为什么。考虑到我想象这个设计决定会引起多少争论,我很惊讶我在互联网上找不到任何理由。有没有人有详尽的解释,或者最好是一些开发者宣言的链接,为什么 Postgres 是这样设计的?我很感兴趣。