Chapter 31. libpq - C Library
- Table of Contents
- 31.1. Database Connection Control Functions
- 31.1.1. Connection Strings
- 31.1.2. Parameter Key Words
- 31.1.1. Connection Strings
- 31.2. Connection Status Functions
- 31.3. Command Execution Functions
- 31.4. Asynchronous Command Processing
- 31.5. Retrieving Query Results Row-By-Row
- 31.6. Canceling Queries in Progress
- 31.7. The Fast-Path Interface
- 31.8. Asynchronous Notification
- 31.9. Functions Associated with the COPY Command
- 31.5. Retrieving Query Results Row-By-Row
- 31.9.1. Functions for Sending COPY Data
- 31.9.2. Functions for Receiving COPY Data
- 31.9.3. Obsolete Functions for COPY
- 31.9.2. Functions for Receiving COPY Data
- 31.9.1. Functions for Sending COPY Data
- 31.10. Control Functions
- 31.11. Miscellaneous Functions
- 31.12. Notice Processing
- 31.13. Event System
- 31.11. Miscellaneous Functions
- 31.13.1. Event Types
- 31.13.2. Event Callback Procedure
- 31.13.3. Event Support Functions
- 31.13.4. Event Example
- 31.13.2. Event Callback Procedure
- 31.13.1. Event Types
- 31.14. Environment Variables
- 31.15. The Password File
- 31.16. The Connection Service File
- 31.17. LDAP Lookup of Connection Parameters
- 31.18. SSL Support
- 31.15. The Password File
- 31.18.1. Client Verification of Server Certificates
- 31.18.2. Client Certificates
- 31.18.3. Protection Provided in Different Modes
- 31.18.4. SSL Client File Usage
- 31.18.5. SSL Library Initialization
- 31.18.2. Client Certificates
- 31.18.1. Client Verification of Server Certificates
- 31.19. Behavior in Threaded Programs
- 31.20. Building libpq Programs
- 31.21. Example Programs
- 31.20. Building libpq Programs
libpq is the C application programmer's interface to PostgreSQL. libpq is a set of library functions 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 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 31.14, Section 31.15 and Section 31.18 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 31.21) to show how to write programs that use libpq. There are also several complete examples of libpq applications in the directory src/test/examples in the source code distribution.
Client programs that use libpq must include the header file libpq-fe.h and must link with the libpq library.