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