Supported Versions: Current (17) / 16 / 15 / 14 / 13
Development Versions: devel
Unsupported versions: 12 / 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
29. libpq - C Library
29.1. Database Connection Control Functions
29.2. Connection Status Functions
29.3. Command Execution Functions
29.4. Asynchronous Command Processing
29.5. Cancelling Queries in Progress
29.6. The Fast-Path Interface
29.7. Asynchronous Notification
29.8. Functions Associated with the COPY Command
29.9. Control Functions
29.10. Miscellaneous Functions
29.11. Notice Processing
29.12. Environment Variables
29.13. The Password File
29.14. The Connection Service File
29.15. LDAP Lookup of Connection Parameters
29.16. SSL Support
29.17. Behavior in Threaded Programs
29.18. Building libpq Programs
29.19. Example Programs
30. Large Objects
30.1. Introduction
30.2. Implementation Features
30.3. Client Interfaces
30.4. Server-Side Functions
30.5. Example Program
31. ECPG - Embedded SQL in C
31.1. The Concept
31.2. Connecting to the Database Server
31.3. Closing a Connection
31.4. Running SQL Commands
31.5. Choosing a Connection
31.6. Using Host Variables
31.7. Dynamic SQL
31.8. pgtypes library
31.9. Informix compatibility mode
31.10. Using SQL Descriptor Areas
31.11. Error Handling
31.12. Preprocessor directives
31.13. Processing Embedded SQL Programs
31.14. Library Functions
31.15. Internals
32. The Information Schema
32.1. The Schema
32.2. Data Types
32.3. information_schema_catalog_name
32.4. administrable_role_authorizations
32.5. applicable_roles
32.6. attributes
32.7. check_constraint_routine_usage
32.8. check_constraints
32.9. column_domain_usage
32.10. column_privileges
32.11. column_udt_usage
32.12. columns
32.13. constraint_column_usage
32.14. constraint_table_usage
32.15. data_type_privileges
32.16. domain_constraints
32.17. domain_udt_usage
32.18. domains
32.19. element_types
32.20. enabled_roles
32.21. key_column_usage
32.22. parameters
32.23. referential_constraints
32.24. role_column_grants
32.25. role_routine_grants
32.26. role_table_grants
32.27. role_usage_grants
32.28. routine_privileges
32.29. routines
32.30. schemata
32.31. sequences
32.32. sql_features
32.33. sql_implementation_info
32.34. sql_languages
32.35. sql_packages
32.36. sql_parts
32.37. sql_sizing
32.38. sql_sizing_profiles
32.39. table_constraints
32.40. table_privileges
32.41. tables
32.42. triggers
32.43. usage_privileges
32.44. view_column_usage
32.45. view_routine_usage
32.46. view_table_usage
32.47. views