Gerenciar agrupamentos
A biblioteca ICU fornece rastreamento de versão de agrupamento para garantir que os índices que dependem de agrupamentos possam ser reindexados quando uma nova versão do ICU estiver disponível. Para ver se o banco de dados atual tem agrupamentos que precisam ser atualizados, você pode usar a seguinte consulta depois de se conectar usando psql
ou pgAdmin
:
SELECT pg_describe_object(refclassid, refobjid, refobjsubid) AS "Collation", pg_describe_object(classid, objid, objsubid) AS "Object" FROM pg_depend d JOIN pg_collation c ON refclassid = 'pg_collation'::regclass AND refobjid = c.oid WHERE c.collversion <> pg_collation_actual_version(c.oid) ORDER BY 1, 2;
Essa consulta retorna o seguinte resultado:
Collation | Object
-----------+--------
(0 rows)
Neste exemplo, nenhum agrupamento precisa ser atualizado.
Para obter uma lista dos agrupamentos predefinidos em seu banco de dados do Babelfish, você pode usar psql
ou pgAdmin
com a seguinte consulta:
SELECT * FROM pg_collation;
Agrupamentos predefinidos são armazenados na tabela sys.fn_helpcollations
. É possível utilizar o seguinte comando para exibir informações sobre um agrupamento (como os sinalizadores lcid, style e collate). Para obter uma lista de todos os agrupamentos usando sqlcmd
, conecte-se à porta T-SQL (1433, por padrão) e execute a seguinte consulta:
1>
:setvar SQLCMDMAXVARTYPEWIDTH 40
2>
:setvar SQLCMDMAXFIXEDTYPEWIDTH 40
3>
SELECT * FROM fn_helpcollations()
4>
GO
name description ---------------------------------------- ---------------------------------------- arabic_cs_as Arabic, case-sensitive, accent-sensitive arabic_ci_ai Arabic, case-insensitive, accent-insensi arabic_ci_as Arabic, case-insensitive, accent-sensiti bbf_unicode_bin2 Unicode-General, case-sensitive, accent- bbf_unicode_cp1250_ci_ai Default locale, code page 1250, case-ins bbf_unicode_cp1250_ci_as Default locale, code page 1250, case-ins bbf_unicode_cp1250_cs_ai Default locale, code page 1250, case-sen bbf_unicode_cp1250_cs_as Default locale, code page 1250, case-sen bbf_unicode_pref_cp1250_cs_as Default locale, code page 1250, case-sen bbf_unicode_cp1251_ci_ai Default locale, code page 1251, case-ins bbf_unicode_cp1251_ci_as Default locale, code page 1251, case-ins bbf_unicode_cp1254_ci_ai Default locale, code page 1254, case-ins ... (124 rows affected)
As linhas 1 e 2 mostradas no exemplo restringem a saída apenas para fins de legibilidade da documentação.
1>
SELECT SERVERPROPERTY('COLLATION')
2>
GO
serverproperty --------------------------------------------------------------------------- sql_latin1_general_cp1_ci_as (1 rows affected)
1>