Redrock Postgres Documentation
Home Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage


The list below are PostgreSQL drivers (also referred to as “client libraries”) that developers can use to interface with PostgreSQL from various programming languages. The list is alphabetized by programming language, and also indicates if the driver is based on libpq.

Driver Language License Uses libpq?
libpq C PostgreSQL Yes
libpqxx C++ BSD 3-Clause Yes
QPSQL C++ (Qt) LGPLv3 Yes
pgfe C++ zlib Yes
OZO C++ PostgreSQL Yes
npgsql C# PostgreSQL No
Postmodern Common Lisp zlib and PostgreSQL No
crystal-pg Crystal BSD 3-Clause No
Postgrex Elixir Apache 2 No
emacs-libpq Emacs Lisp GPLv3 Yes
epgsql Erlang BSD 3-Clause No
pgo Erlang Apache 2.0 No
pq Go MIT No
pgx Go MIT No
go-pg Go BSD 2-Clause No
HDBC Haskell BSD 3-Clause Yes
postgresql-simple Haskell BSD 3-Clause Yes
JDBC Java BSD 2-Clause No
R2DBC Java Apache 2.0 No
node-postgres JavaScript MIT Optional
postgres.js JavaScript The Unlicense No
pgmoon Lua MIT No
DBD::Pg Perl Artistic Yes
php-pgsql PHP PHPv3.0.1 Yes
ext-pq PHP BSD 2-Clause Yes
Pomm PHP MIT Yes
psycopg2 Python (CPython only) LGPLv3 Yes
asyncpg Python Apache 2 No
pg8000 Python BSD 3-Clause No
psycopg2cffi Python, PyPy LGPLv3 Yes
RPostgreSQL R GPLv2 Yes
ruby-pg Ruby BSD 2-Clause Yes
rust-postgres Rust MIT No
PostgresClientKit Swift Apache 2 No
PostgresNIO Swift MIT No
postgresql-client TypeScript MIT No