

# Administración de intercalaciones
<a name="collation.managing"></a>

La biblioteca de ICU proporciona seguimiento de versiones de intercalación para garantizar que los índices que dependen de las intercalaciones se puedan volver a indexar cuando esté disponible una nueva versión de ICU. Para comprobar si su base de datos actual tiene intercalaciones que se deban actualizar, puede utilizar la siguiente consulta después de conectarse mediante `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;
```

Esta consulta devuelve resultados como los siguientes:

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

En este ejemplo, no es necesario actualizar ninguna intercalación.

Para obtener un listado de las intercalaciones predefinidas en su base de datos Babelfish, puede utilizar `psql` o `pgAdmin` con la siguiente consulta:

```
SELECT * FROM pg_collation;
```

Las intercalaciones predefinidas se almacenan en la tabla `sys.fn_helpcollations`. Puede utilizar el siguiente comando para mostrar información sobre una intercalación (como sus indicadores lcid, estilo y marcas de collate). Para obtener un listado de todas las intercalaciones mediante `sqlcmd`, conéctese al puerto T-SQL (1433, de forma predeterminada) y ejecute la siguiente 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)
```

Las líneas 1 y 2 que aparecen en el ejemplo reducen la salida solo a efectos de legibilidad de la documentación. 

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

(1 rows affected)
1>
```