Client-Side APIs
When you want to build applications that access a PostgreSQL database, you use one (or more) of the client application programming interfaces (or APIs for short). PostgreSQL has a rich variety of APIs that support a number of programming languages.
PostgreSQL supports the APIs shown in Table 5.1.
Interface Name |
Supported Languages |
Described In |
---|---|---|
libpq |
C/C++ |
Chapter 8 |
libpgeasy |
C/C++ |
Chapter 9 |
libpq++ |
C++ |
Chapter 10 |
ecpg |
C/C++ |
Chapter 11 |
ODBC |
C/C++ |
Chapter 12 |
JDBC |
Java |
Chapter 13 |
Perl |
Perl |
Chapter 14 |
PHP[1] |
PHP |
Chapter 15 |
pgtcl |
TCL |
Chapter 16 |
PyGreSQL |
Python |
Chapter 17 |
pg.el1 |
Emacs Lisp |
Not covered |
[1] The standard PostgreSQL distribution does not include the PHP or Emacs interfaces, but they are available separately on the Web.
Table 5.1 is not all-inclusive. You can write PostgreSQL clients using languages not mentioned in Table 5.1. For example, Kylix (Borland's Pascal offering for Linux) offers a PostgreSQL interface. Also, many other languages (such as Microsoft Access and Visual Basic) provide access to PostgreSQL through the ODBC interface. In recent versions, the PostgreSQL development team has removed some interfaces from the core PostgreSQL distribution. If the language that you want to use is not directly supported in the core distribution, surf the gborg.postgresql.org website to find the interface you need.