Client Libraries

From PostgreSQL wiki

Jump to: navigation, search

Work-in-progress.

Access libraries, which allow you to talk the PostgreSQL protocol from your favorite language.

Contents

C

libpq

https://www.postgresql.org/docs/current/static/libpq.html

The standard access library, used by all the standard PostgreSQL tools. It lets you do almost anything, but is quite low level.

ECPG

https://www.postgresql.org/docs/10/static/ecpg.html

SQL embedded in C. Part of the standard PostgreSQL distribution. I don't recall ever hearing about anyone using this.

C++

libpqxx

http://pqxx.org/development/libpqxx/

A nice C++ library, with no dependencies other than libpq.

QtSql

http://doc.qt.io/qt-5/qtsql-index.html

A cross-database library, with decent PostgreSQL support. Integrates well with Qt widgets, provides the basics.

Pgfe

https://github.com/dmitigr/pgfe

An initial release of a C++17 wrapper for libpq.

Elixir

Postgrex

http://hexdocs.pm/postgrex/

Go

Haskell

postgresql-simple

https://hackage.haskell.org/package/postgresql-simple

Java

PostgreSQL JDBC Driver

https://jdbc.postgresql.org

Javascript

node-postgres

https://node-postgres.com

pg-promise

http://vitaly-t.github.io/pg-promise/

Common Lisp

Postmodern

http://marijnhaverbeke.nl/postmodern/

CLSQL

https://github.com/sshirokov/CLSQL

.Net

npgsql

http://www.npgsql.org/

Perl

DBD::Pg

http://search.cpan.org/~turnstep/DBD-Pg/Pg.pm

The standard PostgreSQL driver for DBI based on libpq

DBD::PgPP

http://search.cpan.org/~arc/DBD-PgPP-0.08/lib/DBD/PgPP.pm

Another DBI driver, this one written in pure perl. Only consider using this if DBD::Pg is not an option.

PHP

Pomm

http://www.pomm-project.org

ORMish

ext-pq

https://github.com/m6w6/ext-pq

A PHP binding to libpq

Python

psycopg2

https://pypi.python.org/pypi/psycopg2

R

RPostgreSQL

https://cran.r-project.org/package=RPostgreSQL

DBI driver

Ruby

ruby-pg

https://bitbucket.org/ged/ruby-pg/wiki/Home

Rust

rust-postgres

https://github.com/sfackler/rust-postgres

Native Rust implementation.

Personal tools