2 Chapter 32. libpq — C Library
6 32.1. Database Connection Control Functions
8 32.1.1. Connection Strings
9 32.1.2. Parameter Key Words
11 32.2. Connection Status Functions
12 32.3. Command Execution Functions
14 32.3.1. Main Functions
15 32.3.2. Retrieving Query Result Information
16 32.3.3. Retrieving Other Result Information
17 32.3.4. Escaping Strings for Inclusion in SQL Commands
19 32.4. Asynchronous Command Processing
22 32.5.1. Using Pipeline Mode
23 32.5.2. Functions Associated with Pipeline Mode
24 32.5.3. When to Use Pipeline Mode
26 32.6. Retrieving Query Results in Chunks
27 32.7. Canceling Queries in Progress
29 32.7.1. Functions for Sending Cancel Requests
30 32.7.2. Obsolete Functions for Sending Cancel Requests
32 32.8. The Fast-Path Interface
33 32.9. Asynchronous Notification
34 32.10. Functions Associated with the COPY Command
36 32.10.1. Functions for Sending COPY Data
37 32.10.2. Functions for Receiving COPY Data
38 32.10.3. Obsolete Functions for COPY
40 32.11. Control Functions
41 32.12. Miscellaneous Functions
42 32.13. Notice Processing
46 32.14.2. Event Callback Procedure
47 32.14.3. Event Support Functions
48 32.14.4. Event Example
50 32.15. Environment Variables
51 32.16. The Password File
52 32.17. The Connection Service File
53 32.18. LDAP Lookup of Connection Parameters
56 32.19.1. Client Verification of Server Certificates
57 32.19.2. Client Certificates
58 32.19.3. Protection Provided in Different Modes
59 32.19.4. SSL Client File Usage
60 32.19.5. SSL Library Initialization
64 32.20.1. Authdata Hooks
65 32.20.2. Debugging and Developer Settings
67 32.21. Behavior in Threaded Programs
68 32.22. Building libpq Programs
69 32.23. Example Programs
71 libpq is the C application programmer's interface to PostgreSQL. libpq
72 is a set of library functions that allow client programs to pass
73 queries to the PostgreSQL backend server and to receive the results of
76 libpq is also the underlying engine for several other PostgreSQL
77 application interfaces, including those written for C++, Perl, Python,
78 Tcl and ECPG. So some aspects of libpq's behavior will be important to
79 you if you use one of those packages. In particular, Section 32.15,
80 Section 32.16 and Section 32.19 describe behavior that is visible to
81 the user of any application that uses libpq.
83 Some short programs are included at the end of this chapter
84 (Section 32.23) to show how to write programs that use libpq. There are
85 also several complete examples of libpq applications in the directory
86 src/test/examples in the source code distribution.
88 Client programs that use libpq must include the header file libpq-fe.h
89 and must link with the libpq library.