

# 照合順序の管理
<a name="collation.managing"></a>

ICU ライブラリは照合バージョン追跡機能を提供し、新しいバージョンの ICU が使用可能になった際、照合順序に依存するインデックスを再インデックスできるようにします。現在のデータベースに更新が必要な照合順序があるかどうかを確認するには、`psql` または `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;
```

このクエリは、次のような出力を返します。

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

この例では、照合順序を更新する必要はありません。

Babelfish データベース内の事前定義された照合順序のリストを取得するには、次のクエリで `psql` または `pgAdmin` を使用できます。

```
SELECT * FROM pg_collation;
```

定義済みの照合順序は、`sys.fn_helpcollations` テーブルに保存されます。次のコマンドを使用して、照合に関する情報 (lcid、スタイル、照合フラグなど) を表示できます。`sqlcmd` を使用してすべての照合のリストを取得するには、T-SQL ポート (デフォルトでは 1433) に接続し、次のクエリを実行します。

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

例に示す 1 行目と 2 行目では、文書の読みやすさのためだけに出力を絞り込みます。

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

(1 rows affected)
1>
```