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ライブラリが配置されている場合にのみ発生しますか?
ICUライブラリがインストールされているかどうか、ということですか?
本当にライブラリにもたらす構成オプションは--with-icu
。現在、これをチェックすることは、ICUがビルドに含まれているかどうかを確認するためのより信頼できる方法のようです。
ICU_CFLAGS
およびICU_LIBS
は、コンパイラーがデフォルトで検索しないライブラリーがインストールされている場合にのみ必要なパスです。
ICUライブラリが配置されている場合にのみ発生しますか?
ありますが、pg_collation
にも新しい collprovider
フィールドがあり、照合がICU(i
)またはlibc(c
)