我在本地主机和生产数据库上发现了不同的ORDER BY行为问题。
我在localhost PostgreSQL 9.3.5.1和生产机器9.5.5上。两者都安装在基于Linux的系统上 - localhost在OS X EL Captaion上,在Ubuntu 16.04.1 LTS上生产。
在两台机器上,我按照SQL查询运行:
SELECT title FROM projects ORDER BY title;
在两台机器上,我在同一数据样本上获得了不同的结果。
本地主机:
!C project
A project
B project
生产:
A project
B project
!C project
因此,从某种原因看,生产中的PostgreSQL忽略了“!”在标题的开头。
client_encoding和server_encoding设置都设置为UTF8。 lc_collate和类似的设置都设置为en_US.UTF-8。
有什么想法吗?提前谢谢!
答案 0 :(得分:1)
这是因为Ubuntu的排序与Mac Os和Windows不同。它只是忽略!
感叹号,并通过第二个字母对它们进行正常排序。您可以搜索sort ubuntu exclamation。