Глава 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. Пример программы
В PostgreSQL имеется механизм для работы с большими объектами, предоставляющий доступ в потоковом режиме к пользовательским данным, сохранённым в специальной структуре больших объектов. Потоковый доступ удобен, когда нужно обрабатывать данные, объём которых слишком велик, чтобы оперировать ими как единым целым.
В этой главе описывается реализация, а также программный интерфейс и функции языка запросов для работы с данными больших объектов PostgreSQL. В примерах в этой главе будет использоваться библиотека libpq для языка C, но та же функциональность поддерживается и другими программными интерфейсами PostgreSQL. Другие интерфейсы могут использовать внутри себя интерфейс больших объектов для реализации общего подхода к работе с большими значениями. Здесь это не описывается.
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.