September 26, 2024: PostgreSQL 17 Released!
Supported Versions: Current (17) / 16 / 15 / 14 / 13 / 12
Development Versions: devel
Unsupported versions: 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

IV. Client Interfaces

This part describes the client programming interfaces distributed with PostgreSQL. Each of these chapters can be read independently. Note that there are many other programming interfaces for client programs that are distributed separately and contain their own documentation (Appendix H lists some of the more popular ones). Readers of this part should be familiar with using SQL commands to manipulate and query the database (see Part II) and of course with the programming language that the interface uses.

Table of Contents
28. libpq - C Library
28.1. Database Connection Control Functions
28.2. Connection Status Functions
28.3. Command Execution Functions
28.4. Asynchronous Command Processing
28.5. Cancelling Queries in Progress
28.6. The Fast-Path Interface
28.7. Asynchronous Notification
28.8. Functions Associated with the COPY Command
28.9. Control Functions
28.10. Notice Processing
28.11. Environment Variables
28.12. The Password File
28.13. The Connection Service File
28.14. SSL Support
28.15. Behavior in Threaded Programs
28.16. Building libpq Programs
28.17. Example Programs
29. Large Objects
29.1. History
29.2. Implementation Features
29.3. Client Interfaces
29.4. Server-Side Functions
29.5. Example Program
30. ECPG - Embedded SQL in C
30.1. The Concept
30.2. Connecting to the Database Server
30.3. Closing a Connection
30.4. Running SQL Commands
30.5. Choosing a Connection
30.6. Using Host Variables
30.7. Dynamic SQL
30.8. Using SQL Descriptor Areas
30.9. Error Handling
30.10. Including Files
30.11. Processing Embedded SQL Programs
30.12. Library Functions
30.13. Internals
31. The Information Schema
31.1. The Schema
31.2. Data Types
31.3. information_schema_catalog_name
31.4. applicable_roles
31.5. check_constraints
31.6. column_domain_usage
31.7. column_privileges
31.8. column_udt_usage
31.9. columns
31.10. constraint_column_usage
31.11. constraint_table_usage
31.12. data_type_privileges
31.13. domain_constraints
31.14. domain_udt_usage
31.15. domains
31.16. element_types
31.17. enabled_roles
31.18. key_column_usage
31.19. parameters
31.20. referential_constraints
31.21. role_column_grants
31.22. role_routine_grants
31.23. role_table_grants
31.24. role_usage_grants
31.25. routine_privileges
31.26. routines
31.27. schemata
31.28. sql_features
31.29. sql_implementation_info
31.30. sql_languages
31.31. sql_packages
31.32. sql_sizing
31.33. sql_sizing_profiles
31.34. table_constraints
31.35. table_privileges
31.36. tables
31.37. triggers
31.38. usage_privileges
31.39. view_column_usage
31.40. view_table_usage
31.41. views