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
Java
Type 4 JDBC driver
libpqxx
C++
New-style C++ interface
node-postgres
JavaScript
Node.js driver
Npgsql
.NET
.NET data provider
pgtcl
Tcl
pgtclng
Tcl
pq
Go
Pure Go driver for Go's database/sql
psqlODBC
ODBC
ODBC driver
psycopg
Python
DB API 2.0-compliant