IV. Client Interfaces

Note: The following description applies both to Postgres-XC and PostgreSQL if not described explicitly. You can read PostgreSQL as Postgres-XC except for version number, which is specific to each product.

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
30. libpq - C Library
30.1. Database Connection Control Functions
30.2. Connection Status Functions
30.3. Command Execution Functions
30.4. Asynchronous Command Processing
30.5. Retrieving Query Results Row-By-Row
30.6. Canceling Queries in Progress
30.7. The Fast-Path Interface
30.8. Asynchronous Notification
30.9. Functions Associated with the COPY Command
30.10. Control Functions
30.11. Miscellaneous Functions
30.12. Notice Processing
30.13. Event System
30.14. Environment Variables
30.15. The Password File
30.16. The Connection Service File
30.17. LDAP Lookup of Connection Parameters
30.18. SSL Support
30.19. Behavior in Threaded Programs
30.20. Building libpq Programs
30.21. Example Programs
31. Large Objects
32. ECPG - Embedded SQL in C
32.1. The Concept
32.2. Managing Database Connections
32.3. Running SQL Commands
32.4. Using Host Variables
32.5. Dynamic SQL
32.6. pgtypes Library
32.7. Using Descriptor Areas
32.8. Error Handling
32.9. Preprocessor Directives
32.10. Processing Embedded SQL Programs
32.11. Library Functions
32.12. Large Objects
32.13. C++ Applications
32.14. Embedded SQL Commands
32.15. Informix Compatibility Mode
32.16. Internals
33. The Information Schema
33.1. The Schema
33.2. Data Types
33.3. information_schema_catalog_name
33.4. administrable_role_authorizations
33.5. applicable_roles
33.6. attributes
33.7. character_sets
33.8. check_constraint_routine_usage
33.9. check_constraints
33.10. collations
33.11. collation_character_set_applicability
33.12. column_domain_usage
33.13. column_options
33.14. column_privileges
33.15. column_udt_usage
33.16. columns
33.17. constraint_column_usage
33.18. constraint_table_usage
33.19. data_type_privileges
33.20. domain_constraints
33.21. domain_udt_usage
33.22. domains
33.23. element_types
33.24. enabled_roles
33.25. foreign_data_wrapper_options
33.26. foreign_data_wrappers
33.27. foreign_server_options
33.28. foreign_servers
33.29. foreign_table_options
33.30. foreign_tables
33.31. key_column_usage
33.32. parameters
33.33. referential_constraints
33.34. role_column_grants
33.35. role_routine_grants
33.36. role_table_grants
33.37. role_udt_grants
33.38. role_usage_grants
33.39. routine_privileges
33.40. routines
33.41. schemata
33.42. sequences
33.43. sql_features
33.44. sql_implementation_info
33.45. sql_languages
33.46. sql_packages
33.47. sql_parts
33.48. sql_sizing
33.49. sql_sizing_profiles
33.50. table_constraints
33.51. table_privileges
33.52. tables
33.53. triggered_update_columns
33.54. triggers
33.55. udt_privileges
33.56. usage_privileges
33.57. user_defined_types
33.58. user_mapping_options
33.59. user_mappings
33.60. view_column_usage
33.61. view_routine_usage
33.62. view_table_usage
33.63. views