Pg Drives Driver
Try new approaches, set new standards in efficiency, easily overcome new challenges: our drive components are perfectly coordinated and prepared with digitalization in mind, and excel in many different fields of application with their innovative technology, ease of handling and ensured viability into the future. Driver SPG delivers best-in-class services from the preconstruction phase through close-out.
- 1Drivers
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 and whether or not it supports the SCRAM-SHA-256 authentication protocol that was added in PostgreSQL 10.
NOTE: The drivers listed below are in various states of development. Some of them have been stable for many years and have been proven in various environments, whereas others are in early development. This listed is strictly informational: it is up to you to select the driver that is best for your environment.
If you would like to add additional drivers to the list, please add them in alphabetical order based on the programming language for the driver.
Open Source
Pg Drives Diagnostics
Driver | Language | License | uses libpq? | Supports SCRAM? |
---|---|---|---|---|
libpq | C | PostgreSQL | Yes | Yes |
ODBC | C | LGPLv2 | Yes | Yes |
libpqxx | C++ | BSD 3-Clause | Yes | Yes |
QPSQL | C++ (Qt) | LGPLv3 | Yes | Yes |
pgfe | C++ | zlib | Yes | Yes |
OZO | C++ | PostgreSQL | Yes | Yes |
npgsql | C# | PostgreSQL | No | Yes, since 3.2.7 |
Postmodern | Common Lisp | zlib and PostgreSQL | No | Yes, since 1.30 |
crystal-pg | Crystal | BSD 3-Clause | No | Yes, since 0.18.0 |
Postgrex | Elixir | Apache 2 | No | Yes, since 0.14.0 |
emacs-libpq | Emacs Lisp | GPLv3 | Yes | Yes |
epgsql | Erlang | BSD 3-Clause | No | Yes [1] |
github.com/lib/pq | Go | MIT | No | Yes, since 1.1.0 |
pgx | Go | MIT | No | Yes [2], since 3.4.0 |
go-pg | Go | BSD 2-Clause | No | Yes, since 6.15 |
HDBC | Haskell | BSD 3-Clause | Yes | Yes |
postgresql-simple | Haskell | BSD 3-Clause | Yes | Yes |
JDBC | Java | BSD 2-Clause | No | Yes, since 42.2.0. |
node-postgres | JavaScript | MIT | Optional | Yes [3], since 7.9.0 |
postgres.js | JavaScript | Do What The F*ck You Want To Public License | No | Yes |
DBD::Pg | Perl | GPLv2 | Yes | Yes |
php-pgsql | PHP | PHPv3.0.1 | Yes | Yes |
PDO_PGSQL | PHP | PHPv3.0.1 | Yes | Yes |
ext-pq | PHP | BSD 2-Clause | Yes | Yes |
Pomm | PHP | MIT | Yes | Yes |
psycopg2 | Python (CPython only) | LGPLv3 | Yes | Yes |
asyncpg | Python | Apache 2 | No | Yes, since 0.19.0 [4] |
psycopg2cffi | Python, PyPy | LGPLv3 | Yes | Yes |
RPostgreSQL | R | GPLv2 | Yes | Yes |
ruby-pg | Ruby | BSD 2-Clause | Yes | Yes |
rust-postgres | Rust | MIT | No | Yes [5] |
PostgresClientKit | Swift | Apache 2 | No | Yes [6], since 1.3.0 |
PostgresNIO | Swift | MIT | No | Yes |
Pgtcl | Tcl | BSD 3-Clause | Yes | Yes |
pgtclng | Tcl | PostgreSQL | Yes | Yes |
Pg Drives Drivers
Proprietary
This section is temporary until we determine how we want to list out proprietary / closed source drivers.
Driver | Language |
---|---|
ADO.NET Provider for PostgreSQL by CData | C# |
ODBC Driver for PostgreSQL by CData | C |
JDBC Driver for PostgreSQL by CData | Java |
Unsupported Drivers
Below is a list of drivers that are no longer maintained.
Driver | Language |
---|---|
CLSQL | Common Lisp |
pgsql | Erlang |
erlang-psql-driver | Erlang |
PgPP | Perl |