

# Gerenciar agrupamentos
<a name="collation.managing"></a>

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>
```