PostgreSQL 9.1.1文書
前のページ | 巻戻し |  | 早送り | 次のページ

# CREATE COLLATION

## 名前

CREATE COLLATION -- 新しい照合順序を定義する

## 概要

    CREATE COLLATION name (
        [ LOCALE = locale, ]
        [ LC_COLLATE = lc_collate, ]
        [ LC_CTYPE = lc_ctype ]
    )
    CREATE COLLATION name FROM existing_collation

## 説明

`CREATE COLLATION`は指定したオペレーティングシステムのロケール設定または既存の照合順序をコピーすることで新しい照合順序を定義します。

照合順序を新しく作成するためには、格納先のスキーマにおける`CREATE`権限が必要です。

## パラメータ

`name`

  照合順序の名前です。 照合順序の名前はスキーマ修飾することができます。 スキーマ修飾されていない場合、照合順序は現在のスキーマ内で定義されます。 照合順序の名前はそのスキーマ内で一意でなければなりません。 （システムカタログでは異なる符号化方式に対して同じ名前の照合順序を含めることができます。 しかしデータベース符号化方式が異なる場合には無視されます。）

`locale`

  これは同時に`LC_COLLATE`および`LC_CTYPE`を設定する省略形です。 これを指定した場合、これらのパラメータのいずれかを指定することはできません。

`lc_collate`

  `LC_COLLATE`ロケールカテゴリに対して指定したオペレーティングシステムのロケールを使用します。 このロケールは現在のデータベース符号化方式に適用可能なものでなければなりません。 （正確な規則についてはCREATE DATABASEを参照してください。）

`lc_ctype`

  `LC_CTYPE`ロケールカテゴリに対して指定したオペレーティングシステムのロケールを使用します。 このロケールは現在のデータベース符号化方式に適用可能なものでなければなりません。 （正確な規則についてはCREATE DATABASEを参照してください。）

`existing_collation`

  コピーする既存の照合順序の名前です。 新しい照合順序は既存のものと同じ属性を持ちますが、独立したオブジェクトになります。

## 注意

ユーザ定義の照合順序を削除するためには`DROP COLLATION`を使用してください。

PostgreSQLにおける照合順序サポートに関しては項22.2を参照してください。

## 例

オペレーティングシステムの`fr_FR.utf8`ロケールから照合順序を作成します。 （現在のデータベース符号化方式が`UTF8`であることが前提です。）

    CREATE COLLATION french (LOCALE = 'fr_FR.utf8');

既存の照合順序から照合順序を作成します。

    CREATE COLLATION german FROM "de_DE";

アプリケーションにおいてオペレーティングシステムに依存しない照合順序の名前を使用することができ、便利になるかもしれません。

## 互換性

標準SQLには`CREATE COLLATION`が存在しますが、既存の照合順序のコピーに限定されています。 新しい照合順序を作成するための構文はPostgreSQLの拡張です。

## 関連項目

ALTER COLLATION, DROP COLLATION

前のページ | ホーム | 次のページ
CREATE CAST | 上に戻る | CREATE CONVERSION