ライブラリpgtypesライブラリはPostgreSQLデータベースの型をCプログラムで使用できるようにC言語に対応させます。これらの型を使用したCの基本的な計算を行う関数も提供します。この計算には、PostgreSQLサーバを使用しません。以下の例を参照してください。型では任意の精度での計算機能を提供します。数値データ型を参照してください。任意の精度を持つために、この変数は動的に拡張、縮小できなければなりません。変数を作成できない理由です。型も似ていますが精度が限定されていますので、ヒープ領域以外にスタック領域上でも作成可能です。型へのポインタを要求します。型を解放し、そのメモリをすべて解放します。**endptr);有効な書式の例を示します。-2、.794、+3.44、592.49E07、-32.84e-4。値への変換に成功した場合、有効なポインタが返されます。ポインタが返されます。現在ECPGは文字列全体を解析しますので、現時点では*endptr内に最初の無効な文字のアドレスを格納することをサポートしません。型numの文字列表現を持つ、mallocで割り当てられた文字列へのポインタを返します。桁の十進数で出力されます。*result);この関数は変数var1と変数var2を加算し、その結果をresultに格納します。成功時0を、エラー時-1を返します。型変数に結果を格納します。*result);この関数は変数var1から変数var2を差し引きます。演算結果を変数resultに格納します。成功時0を、エラー時-1を返します。型変数に結果を格納します。*result);この関数は変数var1と変数var2を掛け合わせます。演算結果を変数resultに格納します。成功時0を、エラー時-1を返します。型変数に結果を格納します。*result);この関数は変数var1を変数var2で割ります。演算結果を変数resultに格納します。成功時0を、エラー時-1を返します。PGTYPESnumeric_cmp2つのnumeric型変数を比較します。*var2)この関数は2つのnumeric型変数を比較します。エラーの場合INT_MAXが返ります。成功時、この関数は以下のいずれかを返します:var1がvar2より大きければ1。var1がvar2より小さければ-1。var1がvar2と等しければ0。PGTYPESnumeric_from_intint型変数をnumeric型変数に変換します。int型の変数を受付け、numeric型変数var内に格納します。成功時0、失敗時-1が返ります。int型変数をnumeric型変数に変換します。型変数var内に格納します。成功時0、失敗時-1が返ります。型変数にコピーします。*dst);この関数は、srcが指し示す変数の値をdstが指し示す変数にコピーします。成功時0、失敗時-1が返ります。*dst);この関数はdouble型の変数を受付け、変換結果をdstが指し示す変数内に格納します。成功時0、失敗時-1が返ります。型変数をdouble型に変換します。型変数の値をdpが指し示すdouble型変数に変換します。成功時0、オーバーフローを含むエラーが発生した時-1が返ります。オーバーフローが発生した場合はさらに、グローバル変数errnoはPGTYPES_NUM_OVERFLOWに設定されます。型変数をint型に変換します。型変数の値をipが指し示す整数型変数に変換します。成功時0、オーバーフローを含むエラーが発生した時-1が返ります。オーバーフローが発生した場合はさらに、グローバル変数errnoはPGTYPES_NUM_OVERFLOWに設定されます。型変数をlong型に変換します。型変数の値をlpが指し示すlong変数に変換します。成功時0、オーバーフローを含むエラーが発生した時-1が返ります。オーバーフローが発生した場合はさらに、グローバル変数errnoはPGTYPES_NUM_OVERFLOWに設定されます。