web-dev-qa-db-ja.com

Postgresクラスターは、ICUライブラリを使用して構築されましたか?

Postgres 10 Beta 2のインストールが新しい International Components for Unicode(ICU) 照合順序を含むように構築されているのだろうか。背景情報については、ピーターによる ICU PostgreSQL 10でのサポート によるより堅牢な照合を参照アイゼントラウト。

pg_config ユーティリティを使用してビルド情報を検出しました。 pg_config --configureを実行すると、最後の行が'ICU_LIBS=-L/opt/local/Current/lib -licuuc -licudata -licui18n'である出力が表示されます。

this ICUライブラリがインストールされているかどうかを意味しますか?

/ライブラリ/ PostgreSQL/10Beta2/bin/pg_config --configure

'--with-icu' '--prefix =/mnt/hgfs/pginstaller.pune/server/staging_cache/osx' '--with-ldap' '--with-openssl' '--with-Perl' '- -with-python '' --with-tcl '' --with-bonjour '' --with-pam '' --enable-thread-safety '' --with-libxml '' --with-uuid = e2fs '' --with-includes =/opt/local/Current/include/libxml2:/ opt/local/Current/include:/ opt/local/Current/include/security '' --docdir =/mnt/hgfs/pginstaller .pune/server/staging_cache/osx/doc/postgresql '' --with-libxslt '' --with-libedit-preferred '' --with-gssapi '' CFLAGS = -isysroot /Applications/Xcode.app/Contents/ Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min = 10.8 -Arch i386 -Arch x86_64 -O2 '' LDFLAGS = -L/opt/local/Current/lib '' ICU_CFLAGS = -I/opt/local/Current/include '' ICU_LIBS = -L/opt/local/Current/lib -licuuc -licudata -licui18n '

Post私のPostgresがICU照合を使用できるかどうかを検出する別の方法はありますか?SQLを介して何らかの方法がありますか?

SELECT * FROM pg_collation ;を実行すると、リストされた845のロケール名のうち、575は-x-icuで終わります。 ICUライブラリが配置されている場合にのみ発生しますか?

2
Basil Bourque

ICUライブラリがインストールされているかどうか、ということですか?

本当にライブラリにもたらす構成オプションは--with-icu。現在、これをチェックすることは、ICUがビルドに含まれているかどうかを確認するためのより信頼できる方法のようです。

ICU_CFLAGSおよびICU_LIBSは、コンパイラーがデフォルトで検索しないライブラリーがインストールされている場合にのみ必要なパスです。

ICUライブラリが配置されている場合にのみ発生しますか?

ありますが、pg_collationにも新しい collprovider フィールドがあり、照合がICU(i)またはlibc(c

1
Daniel Vérité