Chapter 1. libpq - C Library

Table of Contents
1.1. Introduction
1.2. Database Connection Functions
1.3. Command Execution Functions
1.3.1. Main Routines
1.3.2. Escaping strings for inclusion in SQL queries
1.3.3. Escaping binary strings for inclusion in SQL queries
1.3.4. Retrieving SELECT Result Information
1.3.5. Retrieving SELECT Result Values
1.3.6. Retrieving Non-SELECT Result Information
1.4. Asynchronous Query Processing
1.5. The Fast-Path Interface
1.6. Asynchronous Notification
1.7. Functions Associated with the COPY Command
1.8. libpq Tracing Functions
1.9. libpq Control Functions
1.10. Environment Variables
1.11. Threading Behavior
1.12. Building Libpq Programs
1.13. Example Programs

1.1. Introduction

libpq is the C application programmer's interface to PostgreSQL. libpq is a set of library routines that allow client programs to pass queries to the PostgreSQL backend server and to receive the results of these queries. libpq is also the underlying engine for several other PostgreSQL application interfaces, including libpq++ (C++), libpgtcl (Tcl), Perl, and ecpg. So some aspects of libpq's behavior will be important to you if you use one of those packages.

Three short programs are included at the end of this section to show how to write programs that use libpq. There are several complete examples of libpq applications in the following directories:

src/test/examples
src/bin/psql

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