Large object functions#

bdr.lo_* ファンクションは、

PostgreSQL large object server-side functions とレプリケートされた同等のファンクションです。各ファンクションはpg_catalog.largeobject ではなくbdr.pgd_largeobject で動作します。特に記載のない限り、動作とパラメーターのセマンティクスは、同等のPostgreSQLと同じです。

レプリケートされたラージオブジェクトの概要については、 Replicated large objects を参照してください。

ラージオブジェクトインターフェイス#

bdr.lo_creat#

新しいラージオブジェクトを作成します。 mode 引数は無視されますが、互換性のために受け入れられます。新しいラージオブジェクトのOIDを結果ます。

概要#

bdr.lo_creat(mode int4) returns oid

パラメーター#

  • mode — 無視されます。 PostgreSQL lo_creat インターフェイスとの互換性のために受け入れられます。

bdr.lo_create#

指定されたOIDで新しいラージオブジェクトを作成します。ラージオブジェクトのOIDを結果ます。

概要#

bdr.lo_create(lobjId oid) returns oid

パラメーター#

  • lobjId — 新しいラージオブジェクトに割り当てるOID。 0 を渡して、OIDが自動的に割り当てられます。

bdr.lo_open#

既存のラージオブジェクトを読み取りまたは書き込みのために開きます。後続の操作で使用するラージオブジェクトファイル記述子を返します。

概要#

bdr.lo_open(lobjId oid, mode int4) returns int4

パラメーター#

  • lobjId — 開くラージオブジェクトのOID。

  • mode — アクセスモード。読み取りアクセスの場合はINV_READ 0x40000、書き込みアクセスの場合はINV_WRITE 0x20000、または両方を組み合わせて使用します。

bdr.lo_close#

ラージオブジェクトファイル記述子を閉じます。

概要#

bdr.lo_close(fd int4) returns int4

パラメーター#

  • fd — bdr.lo_open によって返されるファイル記述子。

bdr.loread#

現在のシーク位置にあるラージオブジェクトから最大len バイトを読み取ります。

概要#

bdr.loread(fd int4, len int4) returns bytea

パラメーター#

  • fd — bdr.lo_open によって返されるファイル記述子。

  • len — 読み取る最大バイト数。

bdr.lowwrite#

現在のシーク位置でラージオブジェクトにデータを書き込みます。書き込まれたバイト数を返します。

概要#

bdr.lowrite(fd int4, buf bytea) returns int4

パラメーター#

  • fd — bdr.lo_open によって返されるファイル記述子。

  • buf — 書き込むデータ。

bdr.lo_lseek#

ラージオブジェクト記述子の現在のシーク位置を移動します。

概要#

bdr.lo_lseek(fd int4, offset int4, whence int4) returns int4

パラメーター#

  • fd — bdr.lo_open によって返されるファイル記述子。

  • offset — シークするバイトオフセット。

  • whence — シークモード最初からSEEK_SET 0、現在位置からSEEK_CUR 1、または最後からSEEK_END 2。

bdr.lo_lseek64#

bdr.lo_lseek の64ビットバージョン。

概要#

bdr.lo_lseek64(fd int4, offset int64, whence int4) returns int64

パラメーター#

  • fd — bdr.lo_open によって返されるファイル記述子。

  • offset — シークするバイトオフセット。

  • whence — シークモード SEEK_SET (0)、SEEK_CUR (1)、またはSEEK_END (2)。

bdr.lo_tell#

ラージオブジェクト記述子の現在のシーク位置を返します。

概要#

bdr.lo_tell(fd int4) returns int4

パラメーター#

  • fd — bdr.lo_open によって返されるファイル記述子。

bdr.lo_tell64#

bdr.lo_tell の64ビットバージョン。

概要#

bdr.lo_tell64(fd int4) returns int64

パラメーター#

  • fd — bdr.lo_open によって返されるファイル記述子。

bdr.lo_truncate#

ラージオブジェクトを指定されたバイト単位の長さに切り捨てます。

概要#

bdr.lo_truncate(fd int4, len int4) returns int4

パラメーター#

  • fd — bdr.lo_open によって返されるファイル記述子。

  • len — ラージオブジェクトの新しい長さのバイト単位。

bdr.lo_truncate64#

bdr.lo_truncate の64ビットバージョン。

概要#

bdr.lo_truncate64(fd int4, len int64) returns int4

パラメーター#

  • fd — bdr.lo_open によって返されるファイル記述子。

  • len — ラージオブジェクトの新しい長さのバイト単位。

概要#

bdr.lo_unlink(lobjId oid) returns int4

パラメーター#

  • lobjId — 削除するラージオブジェクトのOID。

bdr.lo_import#

サーバーのファイルシステムからファイルを新しいラージオブジェクトとしてインポートします。新しいオブジェクトのOIDを結果ます。スーパーユーザー権限が必要です。

概要#

bdr.lo_import(filename text) returns oid

パラメーター#

  • filename — サーバーのファイルシステムにインポートするファイルの絶対パス。

bdr.lo_import_with_oid#

特定のOIDを持つラージオブジェクトとしてサーバーのファイルシステムからファイルをインポートします。スーパーユーザー権限が必要です。

概要#

bdr.lo_import_with_oid(filename text, lobjId oid) returns oid

パラメーター#

  • filename — サーバーのファイルシステムにインポートするファイルの絶対パス。

  • lobjId — 新しいラージオブジェクトに割り当てるOID。

bdr.lo_export#

ラージオブジェクトをサーバーのファイルシステム上のファイルにエクスポートします。スーパーユーザー権限が必要です。

概要#

bdr.lo_export(lobjId oid, filename text) returns int4

パラメーター#

  • lobjId — エクスポートするラージオブジェクトのOID。

  • filename — サーバーのファイルシステム上の宛先ファイルの絶対パス。

bdr.lo_get#

ラージオブジェクトの内容全体をbytea 値として結果ます。

概要#

bdr.lo_get(lobjId oid) returns bytea

パラメーター#

  • lobjId — 読み取るラージオブジェクトのOID。

bdr.lo_get_fragment#

ラージオブジェクトの一部をbytea 値として結果ます。

概要#

bdr.lo_get_fragment(lobjId oid, offset int64, length int4) returns bytea

パラメーター#

  • lobjId — 読み取るラージオブジェクトのOID。

  • offset — 読み取りを開始するラージオブジェクト内のバイトオフセット。

  • length — 返される最大バイト数。

bdr.lo_from_bytea#

bytea 値から新しいラージオブジェクトを作成します。新しいオブジェクトのOIDを結果ます。

概要#

bdr.lo_from_bytea(lobjId oid, data bytea) returns oid

パラメーター#

  • lobjId — 新しいラージオブジェクトに割り当てるOID。 0 を渡して、OIDが自動的に割り当てられます。

  • data — ラージオブジェクトの初期コンテンツ。

bdr.lo_put#

指定されたオフセットで開始してラージオブジェクトにデータを書き込み、必要に応じてオブジェクトを拡張します。

概要#

bdr.lo_put(lobjId oid, offset int64, data bytea) returns void

パラメーター#

  • lobjId — 書き込むラージオブジェクトのOID。

  • offset — 書き込みを開始するラージオブジェクト内のバイトオフセット。

  • data — 書き込むデータ。