照合順序の管理
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>