我已经酝酿了一段时间,但是我找不到任何在线讨论此事的人。
目前,可用于区分大小写的搜索的建议似乎是使用“ ilike”或“ citext”。
我们正从Microsoft Sql Server迁移到Postgresql,我们所有的代码都假定不区分大小写的比较-但是我们的TSQL代码库很大,因此将其全部更改为使用UCASE()或ilike或citext等实际上并不可行作为商业发展项目。
但是,必须有可能获取postgresql的源代码并更改一些C代码,以便所有字符串比较均不区分大小写,然后对整个产品进行我们自己的编译。我认为这可能只需要更改几行代码,因此可升级性可能不是一个大问题。
所以我想知道这里的人是否足够了解Postgresql代码库,以提出关于这是否可行以及代码进行比较的想法,这些比较只是为了帮助我们入门。在此期间,我将继续进行研究,并从能够在Windows上构建postgresql入手,但希望能使其他人加入,从而可以启动社区项目以及不区分大小写的想法。可能还有其他调整可以使tsql代码更好地工作,从而简化迁移项目。我的公司将为这一事业做出巨大贡献。
很抱歉,如果这不是主题,但它似乎很容易成为开发人员的问题,我敢肯定,许多其他postgres用户在当今时代都将不区分大小写的版本表示感谢–p
答案 0 :(得分:1)
我了解您的观点,但我认为您认为这只是简单的更改是错误的。否则PostgreSQL可能已经具有不区分大小写的排序规则...
我想说,您最好的选择是始终使用citext
。您有什么问题?
您应该将此列到黑客列表中以开始认真的讨论,但请确保先阅读档案,因为问题不是新问题。