Client Interfaces

There are only two client interfaces included in the base PostgreSQL distribution:

  • libpq is included because it is the primary C language interface, and because many other client interfaces are built on top of it.

  • ECPG is included because it depends on the server-side SQL grammar, and is therefore sensitive to changes in PostgreSQL itself.

All other language interfaces are external projects and are distributed separately. Table H-1 includes a list of some of these projects. Note that some of these packages might not be released under the same license as PostgreSQL . For more information on each language interface, including licensing terms, refer to its website and documentation.

Table H-1. Externally Maintained Client Interfaces

Name Language Comments Website
DBD::Pg Perl Perl DBI driver
JDBC JDBC Type 4 JDBC driver
libpqxx C++ New-style C++ interface
Npgsql .NET .NET data provider
pgtclng Tcl
psqlODBC ODBC ODBC driver
psycopg Python DB API 2.0-compliant