有没有人在Mac OS X上使用Palle Girgensohn的ICU补丁构建Postgresql?如果是这样,你遇到了什么问题,并且整理行为的改变是否令人满意?
我正在使用Postgresql 9.2和Mac OS 10.7和10.8。
答案 0 :(得分:3)
你还没有定义对你当前的整理行为不满意的事情 - 虽然坦率地说,考虑到Mac OS X的libc我觉得答案是“很多”。我不认为你现在有很多选择,除非你愿意努力转发ICU补丁。
我真的很高兴看到PostgreSQL能够支持ICU整理,如果我能找到时间去做那种没人愿意资助这项工作的话,那就是我的工作清单。实施它并不是说服团队接受变更,而是缓解或解决任何性能问题所带来的挑战。
就我个人而言,我只是在Linux上运行它,其中更好的整理和编码支持将有很大帮助。
答案 1 :(得分:0)
目前,patch可用于PostgreSQL,最高版本为9.1。我还没有测试它,但我认为补丁本身工作正常,因为它非常小,而AFAIK,默认情况下在FreeBSD下使用。由于Mac OS X与GNU autoconf兼容,因此补丁应该可以在框中使用。
熟练掌握C语言,您可以尝试自己升级到PostgreSQL 9.2或9.3。 此外,1C提供patches for using PostgreSQL with their 1C:Enterprise platform。这些补丁还提供ICU库,PostgreSQL有9.1和9.2版本。您可以查看并获得有关升级的一些想法。
答案 2 :(得分:0)
是的,这是可能的 - 我刚刚完成了基于MacPorts安装(目前PostgreSQL版本9.3.5)的过程。我使用了来自Palle's patch page的9.2.8补丁文件,稍微修改了一下9.3.5 soruce base并使用了autoconf的2.63而不是2.69,然后使用this MacPorts ticket的Portfile
修改来告诉MacPorts如何应用补丁文件。
我初步测试的结果大多数都很好,例如
postgres=# show server_encoding;
client_encoding
-----------------
UTF8
(1 row)
postgres=# select * from comments order by comment;
comment
---------
gros
gross
groß
grot
(4 rows)
postgres=# select * from comments order by comment collate "C";
comment
---------
gros
gross
grot
groß
(4 rows)
postgres=# select upper('ß');
upper
-------
SS
(1 row)
但请注意......
postgres=# select upper('ß') collate "C";
upper
-------
SS
(1 row)
(我本来期待'ß'。)