Gostaria de saber se minha instalação do Postgres 10 Beta 2 foi construída para incluir os novos agrupamentos de Componentes Internacionais para Unicode (ICU) . Para obter informações básicas, consulte Agrupamentos mais robustos com suporte a ICU no PostgreSQL 10 por Peter Eisentraut.
Eu usei o pg_config
utilitário para detectar as informações de compilação. Ao executar pg_config --configure
, recebo saída onde está a última linha 'ICU_LIBS=-L/opt/local/Current/lib -licuuc -licudata -licui18n'
.
➠ Isso significa que tenho as bibliotecas ICU instaladas ou não?
/Biblioteca/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'
➠ Existe outra maneira de detectar se meu Postgres tem os agrupamentos ICU disponíveis? De alguma forma via SQL?
Quando executo SELECT * FROM pg_collation ;
, dos 845 nomes de localidade listados, 575 terminam em -x-icu
. Isso só acontece se as bibliotecas da UTI estiverem instaladas?
A opção de configuração que realmente traz na biblioteca é
--with-icu
. Atualmente, verificar este parece ser a maneira mais confiável de saber se o ICU foi incluído na compilação.ICU_CFLAGS
eICU_LIBS
são caminhos necessários apenas se a biblioteca estiver instalada onde o compilador não pesquisa por padrão.Sim, mas
pg_collation
também tem um novocollprovider
campo indicando que um agrupamento é do ICU (i
) ou da libc (c
)