有人在Mac上用Palle Girgensohn的ICU补丁构建过Postgresql吗?如果是这样,您遇到了什么问题,整理行为的变化是否令人满意?
我正在使用PostgreSQL9.2和MacOS10.7和10.8。
发布于 2013-06-24 20:57:52
谷歌表示,有问题的补丁来自2005年。它完全应用于PostgreSQL 9.2的可能性几乎为零。更新它可能需要做很多工作,除非有人一直在将工作向前移植到新版本。
您还没有定义当前排序行为的不满意之处-尽管坦率地说,考虑到Mac的libc,我想答案是“很多”。我不认为你在这一点上有太多的选择,除非你愿意承担努力转发ICU补丁。
我真的很希望看到PostgreSQL能够支持重症监护室整理,如果我有时间做这种没有人会资助的工作,它就在我的工作清单上。然而,实现它并不是一个挑战,而是说服团队接受更改,并缓解或解决任何性能问题。
就我个人而言,我只是在Linux上运行它,那里更健全的排序和编码支持将会有很大帮助。
发布于 2013-12-18 22:13:16
目前,PostgreSQL 9.1版之前的版本都可以使用patch。我还没有测试过它,但我认为补丁本身工作得很好,因为它非常小,而且,AFAIK,它默认是在FreeBSD下使用的。由于Mac与GNU autoconf兼容,补丁应该是开箱即用的。
如果精通C语言,您可以尝试自己将其升级到PostgreSQL 9.2或9.3。此外,1C还提供patches for using PostgreSQL with their 1C:Enterprise platform。这些补丁还提供了ICU库,并且有针对PostgreSQL 9.1和9.2的版本。你可以看一看,得到一些关于升级的想法。
发布于 2014-10-15 20:18:00
是的,这是可能的--我刚刚完成了基于MacPorts安装(目前是PostgreSQL 9.3.5版本)的过程。我使用了来自Palle's patch page的9.2.8补丁文件,稍微修改了一下参考9.3.5源代码库,使用2.63版本的autoconf而不是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)(我应该只期望‘«’。)
https://stackoverflow.com/questions/17264860
复制相似问题