第34章 ラージオブジェクト

目次

34.1. はじめに
34.2. 実装機能
34.3. クライアントインタフェース
34.3.1. ラージオブジェクトの作成
34.3.2. ラージオブジェクトのインポート
34.3.3. ラージオブジェクトのエクスポート
34.3.4. 既存のラージオブジェクトのオープン
34.3.5. ラージオブジェクトへのデータの書き込み
34.3.6. ラージオブジェクトからのデータの読み込み
34.3.7. ラージオブジェクトのシーク
34.3.8. ラージオブジェクトのシーク位置の入手
34.3.9. ラージオブジェクトを切り詰める
34.3.10. ラージオブジェクト記述子を閉じる
34.3.11. ラージオブジェクトの削除
34.4. サーバ側の関数
34.5. サンプルプログラム
<title>Large Objects</title> <indexterm zone="largeobjects"><primary>large object</></> <indexterm><primary>BLOB</><see>large object</></>

<productname>PostgreSQL</productname> has a <firstterm>large object</> facility, which provides stream-style access to user data that is stored in a special large-object structure. Streaming access is useful when working with data values that are too large to manipulate conveniently as a whole. PostgreSQLにはラージオブジェクト機能があります。 これは、特殊なラージオブジェクト構造に格納されたユーザデータに対してストリーム様式のアクセスを提供します。 全体をまるごと簡単に操作するには巨大過ぎるデータ値を操作する場合、ストリーミングアクセスが有用です。

This chapter describes the implementation and the programming and query language interfaces to <productname>PostgreSQL</productname> large object data. We use the <application>libpq</application> C library for the examples in this chapter, but most programming interfaces native to <productname>PostgreSQL</productname> support equivalent functionality. Other interfaces might use the large object interface internally to provide generic support for large values. This is not described here. 本章では、PostgreSQLラージオブジェクトデータに関する、実装、プログラミング、問い合わせ言語インタフェースについて説明します。 libpq Cライブラリを例として本章で使用していますが、ほとんどのPostgreSQL固有のプログラミングインタフェースは同等の機能を持っています。 他のインタフェースでは、巨大な値を汎用的にサポートできるように、ラージオブジェクトインタフェースを内部で使用しているかもしれません。 ここでは説明しません。