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. 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
27. libpq - C Library
27.1. Database Connection Control Functions
27.2. Connection Status Functions
27.3. Command Execution Functions
27.4. Asynchronous Command Processing
27.5. The Fast-Path Interface
27.6. Asynchronous Notification
27.7. Functions Associated with the COPY Command
27.8. Control Functions
27.9. Notice Processing
27.10. Environment Variables
27.11. The Password File
27.12. Threading Behavior
27.13. Building libpq Programs
27.14. Example Programs
28. Large Objects
28.1. History
28.2. Implementation Features
28.3. Client Interfaces
28.4. Server-side Functions
28.5. Example Program
29. pgtcl - Tcl Binding Library
29.1. Overview
29.2. Loading pgtcl into an Application
29.3. pgtcl Command Reference
29.4. 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. JDBC Interface
31.1. Setting up the JDBC Driver
31.2. Initializing the Driver
31.3. Issuing a Query and Processing the Result
31.4. Performing Updates
31.5. Calling Stored Functions
31.6. Creating and Modifying Database Objects
31.7. Storing Binary Data
31.8. PostgreSQL Extensions to the JDBC API
31.9. Using the Driver in a Multithreaded or a Servlet Environment
31.10. Connection Pools and Data Sources
31.11. Further Reading
32. PyGreSQL - Python Interface
32.1. The pg Module
32.2. pg Module Functions
32.3. Connection Object: pgobject
32.4. Database Wrapper Class: DB
32.5. Query Result Object: pgqueryobject
32.6. Large Object: pglarge
33. The Information Schema
33.1. The Schema
33.2. Data Types
33.3. information_schema_catalog_name
33.4. applicable_roles
33.5. check_constraints
33.6. column_domain_usage
33.7. column_privileges
33.8. column_udt_usage
33.9. columns
33.10. constraint_column_usage
33.11. constraint_table_usage
33.12. data_type_privileges
33.13. domain_constraints
33.14. domain_udt_usage
33.15. domains
33.16. element_types
33.17. enabled_roles
33.18. key_column_usage
33.19. parameters
33.20. referential_constraints
33.21. role_columns_grants
33.22. role_routine_grants
33.23. role_table_grants
33.24. role_usage_grants
33.25. routine_privileges
33.26. routines
33.27. schemata
33.28. sql_features
33.29. sql_implementation_info
33.30. sql_languages
33.31. sql_packages
33.32. sql_sizing
33.33. sql_sizing_profiles
33.34. table_constraints
33.35. table_privileges
33.36. tables
33.37. triggers
33.38. usage_privileges
33.39. view_column_usage
33.40. view_table_usage
33.41. views