Глава 33. libpq — библиотека для языка C

Содержание

33.1. Функции управления подключением к базе данных
33.1.1. Строки параметров подключения
33.1.2. Ключевые слова-параметры
33.2. Функции, описывающие текущее состояние подключения
33.3. Функции для исполнения команд
33.3.1. Главные функции
33.3.2. Извлечение информации, связанной с результатом запроса
33.3.3. Получение другой информации о результате
33.3.4. Экранирование строковых значений для включения в SQL-команды
33.4. Асинхронная обработка команд
33.5. Конвейерный режим
33.5.1. Использование конвейерного режима
33.5.2. Функции, связанные с конвейерным режимом
33.5.3. Когда использовать конвейерный режим
33.6. Извлечение порциями информации, связанной с результатом запроса
33.7. Отмена запросов в процессе выполнения
33.7.1. Функции для отправки запросов отмены
33.7.2. Устаревшие функции для отправки запросов отмены
33.8. Интерфейс быстрого пути
33.9. Асинхронное уведомление
33.10. Функции, связанные с командой COPY
33.10.1. Функции для передачи данных COPY
33.10.2. Функции для приёма данных COPY
33.10.3. Устаревшие функции для COPY
33.11. Функции управления
33.12. Функции разного назначения
33.13. Обработка замечаний
33.14. Система событий
33.14.1. Типы событий
33.14.2. Процедура обработки событий
33.14.3. Функции поддержки событий
33.14.4. Пример обработки событий
33.15. Переменные окружения
33.16. Файл паролей
33.17. Файл служб соединения
33.18. Получение параметров соединения через LDAP
33.19. Поддержка SSL
33.19.1. Проверка сертификатов сервера на стороне клиента
33.19.2. Клиентские сертификаты
33.19.3. Защита, обеспечиваемая в различных режимах
33.19.4. Файлы, используемые клиентом SSL
33.19.5. Инициализация библиотеки SSL
33.20. Поведение в многопоточных программах
33.21. Сборка программ с libpq
33.22. Примеры программ

libpq — это интерфейс Postgres Pro для программирования приложений на языке C. Библиотека libpq содержит набор функций, используя которые клиентские программы могут передавать запросы серверу Postgres Pro и принимать результаты этих запросов.

libpq также является базовым механизмом для нескольких других прикладных интерфейсов Postgres Pro, включая те, что написаны для C++, Perl, Python, Tcl и ECPG. Поэтому некоторые аспекты поведения libpq будут важны для вас, если вы используете один из этих пакетов. В частности, Раздел 33.15, Раздел 33.16 и Раздел 33.19 описывают поведение, видимое пользователю любого приложения, использующего libpq.

В конце этой главы приведены короткие программы (Раздел 33.22), показывающие, как использовать libpq в своих программах.

Клиентские программы, которые используют libpq, должны включать заголовочный файл libpq-fe.h и должны компоноваться с библиотекой libpq.

Chapter 33. libpq — C Library

Table of Contents

33.1. Database Connection Control Functions
33.1.1. Connection Strings
33.1.2. Parameter Key Words
33.2. Connection Status Functions
33.3. Command Execution Functions
33.3.1. Main Functions
33.3.2. Retrieving Query Result Information
33.3.3. Retrieving Other Result Information
33.3.4. Escaping Strings for Inclusion in SQL Commands
33.4. Asynchronous Command Processing
33.5. Pipeline Mode
33.5.1. Using Pipeline Mode
33.5.2. Functions Associated with Pipeline Mode
33.5.3. When to Use Pipeline Mode
33.6. Retrieving Query Results in Chunks
33.7. Canceling Queries in Progress
33.7.1. Functions for Sending Cancel Requests
33.7.2. Obsolete Functions for Sending Cancel Requests
33.8. The Fast-Path Interface
33.9. Asynchronous Notification
33.10. Functions Associated with the COPY Command
33.10.1. Functions for Sending COPY Data
33.10.2. Functions for Receiving COPY Data
33.10.3. Obsolete Functions for COPY
33.11. Control Functions
33.12. Miscellaneous Functions
33.13. Notice Processing
33.14. Event System
33.14.1. Event Types
33.14.2. Event Callback Procedure
33.14.3. Event Support Functions
33.14.4. Event Example
33.15. Environment Variables
33.16. The Password File
33.17. The Connection Service File
33.18. LDAP Lookup of Connection Parameters
33.19. SSL Support
33.19.1. Client Verification of Server Certificates
33.19.2. Client Certificates
33.19.3. Protection Provided in Different Modes
33.19.4. SSL Client File Usage
33.19.5. SSL Library Initialization
33.20. Behavior in Threaded Programs
33.21. Building libpq Programs
33.22. Example Programs

libpq is the C application programmer's interface to Postgres Pro. libpq is a set of library functions that allow client programs to pass queries to the Postgres Pro backend server and to receive the results of these queries.

libpq is also the underlying engine for several other Postgres Pro application interfaces, including those written for C++, Perl, Python, Tcl and ECPG. So some aspects of libpq's behavior will be important to you if you use one of those packages. In particular, Section 33.15, Section 33.16 and Section 33.19 describe behavior that is visible to the user of any application that uses libpq.

Some short programs are included at the end of this chapter (Section 33.22) to show how to write programs that use libpq.

Client programs that use libpq must include the header file libpq-fe.h and must link with the libpq library.

FAQ