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— 無視されます。 PostgreSQLlo_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_READ0x40000、書き込みアクセスの場合はINV_WRITE0x20000、または両方を組み合わせて使用します。
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_SET0、現在位置からSEEK_CUR1、または最後からSEEK_END2。
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#
指定されたOIDを持つラージオブジェクトを削除します。
概要#
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— 書き込むデータ。