Part IV. Client Interfaces

This part describes the client programming interfaces distributed with Postgres Pro. 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 J 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

37. libpq — C Library
37.1. Database Connection Control Functions
37.2. Connection Status Functions
37.3. Command Execution Functions
37.4. Asynchronous Command Processing
37.5. Pipeline Mode
37.6. Retrieving Query Results Row-by-Row
37.7. Canceling Queries in Progress
37.8. The Fast-Path Interface
37.9. Asynchronous Notification
37.10. Functions Associated with the COPY Command
37.11. Control Functions
37.12. Miscellaneous Functions
37.13. Notice Processing
37.14. Event System
37.15. Environment Variables
37.16. The Password File
37.17. The Connection Service File
37.18. LDAP Lookup of Connection Parameters
37.19. SSL Support
37.20. Behavior in Threaded Programs
37.21. Building libpq Programs
37.22. Example Programs
38. Large Objects
38.1. Introduction
38.2. Implementation Features
38.3. Client Interfaces
38.4. Server-Side Functions
38.5. Example Program
39. ECPG — Embedded SQL in C
39.1. The Concept
39.2. Managing Database Connections
39.3. Running SQL Commands
39.4. Using Host Variables
39.5. Dynamic SQL
39.6. pgtypes Library
39.7. Using Descriptor Areas
39.8. Error Handling
39.9. Preprocessor Directives
39.10. Processing Embedded SQL Programs
39.11. Library Functions
39.12. Large Objects
39.13. C++ Applications
39.14. Embedded SQL Commands
39.15. Informix Compatibility Mode
39.16. Oracle Compatibility Mode
39.17. Internals
40. The Information Schema
40.1. The Schema
40.2. Data Types
40.3. information_schema_catalog_name
40.4. administrable_role_​authorizations
40.5. applicable_roles
40.6. attributes
40.7. character_sets
40.8. check_constraint_routine_usage
40.9. check_constraints
40.10. collations
40.11. collation_character_set_​applicability
40.12. column_column_usage
40.13. column_domain_usage
40.14. column_options
40.15. column_privileges
40.16. column_udt_usage
40.17. columns
40.18. constraint_column_usage
40.19. constraint_table_usage
40.20. data_type_privileges
40.21. domain_constraints
40.22. domain_udt_usage
40.23. domains
40.24. element_types
40.25. enabled_roles
40.26. foreign_data_wrapper_options
40.27. foreign_data_wrappers
40.28. foreign_server_options
40.29. foreign_servers
40.30. foreign_table_options
40.31. foreign_tables
40.32. key_column_usage
40.33. parameters
40.34. referential_constraints
40.35. role_column_grants
40.36. role_routine_grants
40.37. role_table_grants
40.38. role_udt_grants
40.39. role_usage_grants
40.40. routine_column_usage
40.41. routine_privileges
40.42. routine_routine_usage
40.43. routine_sequence_usage
40.44. routine_table_usage
40.45. routines
40.46. schemata
40.47. sequences
40.48. sql_features
40.49. sql_implementation_info
40.50. sql_parts
40.51. sql_sizing
40.52. table_constraints
40.53. table_privileges
40.54. tables
40.55. transforms
40.56. triggered_update_columns
40.57. triggers
40.58. udt_privileges
40.59. usage_privileges
40.60. user_defined_types
40.61. user_mapping_options
40.62. user_mappings
40.63. view_column_usage
40.64. view_routine_usage
40.65. view_table_usage
40.66. views