由于刚刚从MySQL转到PostgreSQL不久,发现我在查询时,PostgreSQL对库名表名字段名以及字段值是区分大小写的!这给项目的开发带来了很大的打击.由于MySQL在建立表结构时可以设定是否区分大小写,于是我想修改PGSQL的表结构或者配置文件能够达到大小写不敏感的作用.可是我没有找到相关的资料.目前仅仅是通过 ILIKE 来解决,请问高手PGSQL能不能通过表结构或者postgresql.conf来解决大小写敏感的问题,谢谢了!
调试欢乐多
select * from "table" where "column" =upper(str);
postgresql的字段大小写不敏感,但是如果字段加了双引号后就大小写敏感了,比如字段AA 和 aa 和 Aa都会被当作是aa.如果都加上引号,则大小写敏感"AA" 和 "aa" 和 "Aa"将是都是不一样的。
程序上就不用再进行修改了。这个问题当前在MySQL/Sybase迁移到Postgres系列数据库时都存在。谢关注enterprisedb.org.cn网站,我少后将此修改的脚本放上去给大家参考!
资料表 "public.tt"
栏位 | 型别 | 修饰词
------+---------+--------
i | integer |
I | integer | work=# \d tt
资料表 "public.tt"
栏位 | 型别 | 修饰词
------+---------+--------
i | integer |
I | integer | work=# CREATE TABLE "TT"(i int,"I" int);
work=# CREATE TABLE tt(i int,"I" int);