PostgreSQL大小写的坑
前景:之前听前辈们说过postgresql大小写敏感,觉得自己注意应该也不是啥事。今天用postgresql写存储过程,以前的命名习惯,喜欢全大写,然后调用的存储过程名写的大写也提示找不到,然后开始试验了下表名、字段、函数等名大写或驼峰命名,发现postgresql的大小写规则可以用“混乱”形容。当然“混乱”不是指postgresql没定义清楚,是指我这程序员的思维理解起来不那么舒服。 Part1:我试验了各种大小写以及调用后的现象 1)建立了大写的表NODE,查询不论是用NODE还是node都不行,需用"NODE"才可识别。 正确语句:select * from "NODE" 2)建立了小写的表edge,查询不论是用EDGE还是edge都可以(额,说好的大小写敏感呢),"edge"也可识别。 正确语句:select * from edge 或 EDGE 或"edge" 3)存储过程测试结论与表名一样。 大写的存储过程TP_INSERT需用call "TP_INSERT"();来调用。 小写的存储过程tp_select,可用call tp_select(); 或 call TP_SELECT();或call "tp_select"(); 来调用 4)在NODE表中建立字符型name,Name,NAME三个字段(居然能建成功),对应插入值'lili','Lili','LILI'。