Datum

Datum

PostgreSQLにおける、一つの値(データ)を表す内部表現。

この抽象化により、あらゆる値を関数等でやりとりできる。

PostgreSQL上のデータ型がint4のときはC言語における4バイトintが、varcharのときはデータを格納したメモリへのポインタがDatumに格納されている。よって、PostgreSQLにおける型によってアクセスの方法が異なるが、そこは下記のようにマクロによって隠蔽されている。


int arg = DatumGetInt32(datum);
Datum datum = Int32GetDatum(arg);

VarChar *arg = DatumGetVarCharP(datum);
Datum datum = VarCharPGetDatum(arg);

ちなみに、Datumとは「Dataの単数形」が元来の意味。

  • 2008/07/12 01:04:55 Datum
  • 2008/08/05 10:30:49 fmgr