Chapter 34. Large Objects

Table of Contents

34.1. Introduction
34.2. Implementation Features
34.3. Client Interfaces
34.3.1. Creating a Large Object
34.3.2. Importing a Large Object
34.3.3. Exporting a Large Object
34.3.4. Opening an Existing Large Object
34.3.5. Writing Data to a Large Object
34.3.6. Reading Data from a Large Object
34.3.7. Seeking in a Large Object
34.3.8. Obtaining the Seek Position of a Large Object
34.3.9. Truncating a Large Object
34.3.10. Closing a Large Object Descriptor
34.3.11. Removing a Large Object
34.4. Server-Side Functions
34.5. Example Program

PostgreSQL™ has a 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.

This chapter describes the implementation and the programming and query language interfaces to PostgreSQL™ large object data. We use the libpq C library for the examples in this chapter, but most programming interfaces native to PostgreSQL™ support equivalent functionality. Other interfaces might use the large object interface internally to provide generic support for large values. This is not described here.