以下の手順に従って、テーブルに挿入される値は対象とする列のデータ型に変換されます。対象に正確に一致するかどうかを検査します。なければ、式を対象の型に変換してみます。2つの型の間のキャストが登録されている場合、これは成功します。式がunknown型リテラルの場合、リテラル文字列の内容は対象の型の入力変換ルーチンに与えられます。対象の型に対してサイズ調整キャストがあるかどうかを検査します。サイズ調整キャストは、ある型からその同じ型へのキャストです。pg_castカタログに1つ見つかった場合は、格納先の列に収納する前に式に適用します。したキャストを実装する関数は、常にinteger型のパラメータを1つ余計に取ります。(atttypmodの解釈方法はデータ型によって異なりますが、典型的にはそれの宣言された長さです)。キャストが明示的か暗黙的かを示す、第三のbooleanパラメータを取ることもできます。サイズ検査や切り詰めなど、長さに依存したセマンティックスの適用について、キャスト関数が責任を持ちます。character格納における型変換varchar(20)として宣言された対象の列への以下の文では、対象の大きさが正確に調整されることを示します。row)ここで実際に起こったのは、デフォルトで||演算子がtextの連結として解決できるように、2つのunknownリテラルがtextに解決されたということです。(しかし、textからbpcharへバイナリ変換可能ですので、この型変換のために実際の関数呼び出しは挿入されません)。boolean)サイズ調整関数がシステムカタログの中から見つかり、演算子の結果と格納する列の長さを適用します。この型特有の関数は必要とされる長さを検査し、空白の埋め込みを行います。UNION、CASEおよび関連する。