

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Gestione delle raccolte
<a name="collation.managing"></a>

La libreria ICU fornisce il tracciamento delle raccolte per garantire che gli indici che dipendono dalle raccolte possano essere reindicizzati quando diventa disponibile una nuova versione di ICU. Per verificare se il database corrente contiene regole di confronto che richiedono l'aggiornamento, puoi utilizzare la seguente query dopo aver effettuato la connessione utilizzando `psql` o `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;
```

Questa query restituisce un output del tipo seguente:

```
 Collation | Object
-----------+--------
(0 rows)
```

In questo esempio, non è necessario aggiornare regole di confronto.

Per ottenere un elenco delle regole di confronto predefinite nel database Babelfish, puoi utilizzare `psql` o `pgAdmin` con la seguente query:

```
SELECT * FROM pg_collation;
```

Le raccolte predefinite sono memorizzate nella tabella `sys.fn_helpcollations`. È possibile utilizzare il seguente comando per visualizzare informazioni su una raccolta (ad esempio i flag lcid, style e collate). Per ottenere un elenco di tutte le regole di confronto utilizzando `sqlcmd`, esegui la connessione alla porta T-SQL (1433, per impostazione predefinita) ed esegui la seguente query: 

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

Le righe 1 e 2 mostrate nell'esempio restringono l'output solo ai fini della leggibilità della documentazione. 

```
1> SELECT SERVERPROPERTY('COLLATION')
2> GO
serverproperty
---------------------------------------------------------------------------
sql_latin1_general_cp1_ci_as

(1 rows affected)
1>
```