When packaging PostgreSQL for Postgres.app, I discovered a problem: strcoll 
doesn't work for multibyte encodings on OS X. As a consequence, text sorting in 
PostgreSQL doesn't work. The only workaround seemed to be to use a legacy 
encoding like latin1, which is inacceptable.

I discovered that OS X shares this limitation with FreeBSD, and there exists a 
patch written by Palle Girgensohn that uses the ICU library for collating 
strings instead of the std-c strcoll function. You can find it at 
http://people.freebsd.org/~girgen/postgresql-icu/README.html 
<http://people.freebsd.org/~girgen/postgresql-icu/README.html>

I applied the patch, and according to preliminary testing with 9.4rc1 it seems 
to work flawlessly on OS X as well.
See https://github.com/PostgresApp/PostgresApp/releases/tag/9.4rc1 
<https://github.com/PostgresApp/PostgresApp/releases/tag/9.4rc1>

I have two questions:

1) Does anybody else have experience with this patch? Is it safe to release 
PostgreSQL binaries with this patch applied to the public?

2) Is there a reason why this patch hasn't been merged into core over the 
years? Since it requires setting a configure switch (--with-icu) it shouldn't 
break anything?

Best regards,
Jakob Egger


Reply via email to