CREATE CONVERSIONを使用すると、新しい文字セット符号化方式間の変換を定義できます。 変換名はconvert関数で、特定の符号化方式の変換を指定するのに使用されます。 また、DEFAULTとして指定された変換は、クライアントとサーバの間での自動的な符号化方式の変換に使用できます。 このためには、符号化方式Aから符号化方式Bへ、および、符号化方式Bから符号化方式Aへという2つの変換を定義する必要があります。
変換を作成するためには、その関数のEXECUTE権限、および対象となるスキーマ上のCREATE権限を保持している必要があります。
DEFAULT 句により、この変換が、この特定の変換元から対象への符号化方式の変換のデフォルトであることが示されます。 1 つのスキーマ内では、符号化方式する組合せについて 1 つの変換のみをデフォルトにできます。
変換の名前です。 変換名は、スキーマ修飾することができます。 スキーマ修飾されていない場合、変換は現在のスキーマで定義されます。 変換名は、スキーマ内で一意である必要があります。
変換元の符号化方式名です。
変換先の符号化方式名です。
この関数は、変換を実行するために使用します。 関数名は、スキーマ修飾することができます。 スキーマ修飾されていない場合、関数はパスから検索されます。
関数は、下記のような形式で記述する必要があります。
conv_proc( integer, -- 変換元符号化方式ID integer, -- 変換先符号化方式ID cstring, -- 変換元文字列(NULLで終るC言語文字列) internal, -- 変換先文字列(NULLで終るC言語文字列) integer -- 変換元文字列長 ) RETURNS void;