使用すると、新しいキャストを定義できます。つのデータ型間の変換処理方法を指定します。データ型に変換します。(適切なキャストが定義されていない場合、変換処理は失敗します。(関数を呼び出さずに)」お互いのデータ型に変換することができます。この場合、対応する値は、同じ内部表現を使用している必要があります。バイナリ互換性があります。デフォルトでは、キャストは明示的なキャスト要求があった場合のみ呼び出し可能です。オプションを付けると、対象データ型の列に代入する際、暗黙的にそのキャストを呼び出すように設定できます。型のカラムであるとします。オプションが付いていなければ、実行できません。(一般的に、この種のキャストは代入キャストと呼ばれています。オプションを付けると、代入でも、もしくは式の中にあるものでも、すべてのコンテキストで暗黙的にそのキャストを呼び出すように設定できます。以下の例を参照してください。オプションが付けられている場合のみ実行可能です。オプションが付いていなければ、以下のように明示的にキャストを記述する必要があります。text);(一般的に、この種のキャストは暗黙キャストと呼ばれています。)暗黙キャストは、多用しない方が賢明です。コマンドを思わぬ意味に解釈してしまう原因になります。複数の解釈が可能なため、コマンドをまったく解読できなくなってしまう可能性もあります。経験的には、同じ一般的なデータ型カテゴリのデータ型間で、情報を保持する変換でのみ、暗黙キャストを呼び出し可能にするのが良い方法と思われます。型へのキャストは、おそらく代入キャストとすべきでしょう。型への変換のような、カテゴリを越えるデータ型のキャストは、明示的にのみ使用するのが適切です。キャストを作成可能にするには、変換元または変換先のデータ型を所有している必要があります。(バイナリ互換性があるキャスト変換を誤って使用するとサーバがクラッシュしてしまう可能性が高いことから、この制限が付けられました)。パラメータsourcetypeキャストする変換元のデータ型の名前です。targettypeキャストする変換先のデータ型の名前です。funcname(argtype)この関数は、キャストを実行するために使用します。関数名は、スキーマ修飾されている可能性があります。スキーマ修飾されていない場合、関数はパスで検索されます。引数のデータ型はキャストの変換元のデータ型と、結果のデータ型はキャストの変換先のデータ型と一致する必要があります。FUNCTION変換元データ型および変換先データ型は、バイナリ互換性があることを示します。したがって、キャストを実行するのに関数は必要ありません。ASSIGNMENT代入コンテキストで、暗黙的にキャストを呼び出せることを示します。IMPLICIT任意のコンテキストで、暗黙的にキャストを呼び出せることを示します。データ型を双方向に変更可能にするには、双方向のキャストを明示的に宣言する必要があることに注意してください。前のバージョンでは、データ型と同じ名前の関数はすべてそのデータ型を返しました。取っていると、これが自動的にキャスト関数とされていました。この慣習は、スキーマを導入し、カタログでバイナリ互換性があるキャストを表現可能になったことにより、禁止されました。(組み込みキャスト関数は、まだこの命名規則に従っています。キャストとして示される必要があります。型へのキャストを作成するには、以下のようにします。int4(text);(このキャストは、システムにすでに事前定義されています。