Supported Versions: Current (16) / 15 / 14 / 13 / 12
Development Versions: devel
Unsupported versions: 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. 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. Behavior in Threaded Programs
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. The Information Schema
32.1. The Schema
32.2. Data Types
32.3. information_schema_catalog_name
32.4. applicable_roles
32.5. check_constraints
32.6. column_domain_usage
32.7. column_privileges
32.8. column_udt_usage
32.9. columns
32.10. constraint_column_usage
32.11. constraint_table_usage
32.12. data_type_privileges
32.13. domain_constraints
32.14. domain_udt_usage
32.15. domains
32.16. element_types
32.17. enabled_roles
32.18. key_column_usage
32.19. parameters
32.20. referential_constraints
32.21. role_column_grants
32.22. role_routine_grants
32.23. role_table_grants
32.24. role_usage_grants
32.25. routine_privileges
32.26. routines
32.27. schemata
32.28. sql_features
32.29. sql_implementation_info
32.30. sql_languages
32.31. sql_packages
32.32. sql_sizing
32.33. sql_sizing_profiles
32.34. table_constraints
32.35. table_privileges
32.36. tables
32.37. triggers
32.38. usage_privileges
32.39. view_column_usage
32.40. view_table_usage
32.41. views