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
32. libpq - C Library
32.1. Database Connection Control Functions
32.2. Connection Status Functions
32.3. Command Execution Functions
32.4. Asynchronous Command Processing
32.5. Retrieving Query Results Row-By-Row
32.6. Canceling Queries in Progress
32.7. The Fast-Path Interface
32.8. Asynchronous Notification
32.9. Functions Associated with the COPY Command
32.10. Control Functions
32.11. Miscellaneous Functions
32.12. Notice Processing
32.13. Event System
32.14. Environment Variables
32.15. The Password File
32.16. The Connection Service File
32.17. LDAP Lookup of Connection Parameters
32.18. SSL Support
32.19. Behavior in Threaded Programs
32.20. Building libpq Programs
32.21. Example Programs
33. Large Objects
33.1. Introduction
33.2. Implementation Features
33.3. Client Interfaces
33.4. Server-side Functions
33.5. Example Program
34. ECPG - Embedded SQL in C
34.1. The Concept
34.2. Managing Database Connections
34.3. Running SQL Commands
34.4. Using Host Variables
34.5. Dynamic SQL
34.6. pgtypes Library
34.7. Using Descriptor Areas
34.8. Error Handling
34.9. Preprocessor Directives
34.10. Processing Embedded SQL Programs
34.11. Library Functions
34.12. Large Objects
34.13. C++ Applications
34.14. Embedded SQL Commands
34.15. Informix Compatibility Mode
34.16. Internals
35. The Information Schema
35.1. The Schema
35.2. Data Types
35.3. information_schema_catalog_name
35.4. administrable_role_authorizations
35.5. applicable_roles
35.6. attributes
35.7. character_sets
35.8. check_constraint_routine_usage
35.9. check_constraints
35.10. collations
35.11. collation_character_set_applicability
35.12. column_domain_usage
35.13. column_options
35.14. column_privileges
35.15. column_udt_usage
35.16. columns
35.17. constraint_column_usage
35.18. constraint_table_usage
35.19. data_type_privileges
35.20. domain_constraints
35.21. domain_udt_usage
35.22. domains
35.23. element_types
35.24. enabled_roles
35.25. foreign_data_wrapper_options
35.26. foreign_data_wrappers
35.27. foreign_server_options
35.28. foreign_servers
35.29. foreign_table_options
35.30. foreign_tables
35.31. key_column_usage
35.32. parameters
35.33. referential_constraints
35.34. role_column_grants
35.35. role_routine_grants
35.36. role_table_grants
35.37. role_udt_grants
35.38. role_usage_grants
35.39. routine_privileges
35.40. routines
35.41. schemata
35.42. sequences
35.43. sql_features
35.44. sql_implementation_info
35.45. sql_languages
35.46. sql_packages
35.47. sql_parts
35.48. sql_sizing
35.49. sql_sizing_profiles
35.50. table_constraints
35.51. table_privileges
35.52. tables
35.53. transforms
35.54. triggered_update_columns
35.55. triggers
35.56. udt_privileges
35.57. usage_privileges
35.58. user_defined_types
35.59. user_mapping_options
35.60. user_mappings
35.61. view_column_usage
35.62. view_routine_usage
35.63. view_table_usage
35.64. views