Start building

CrateDB is happy at the heart of any application stack, with a number of libraries to support development.

Below is a selection of CrateDB client libraries.

Pick your library, and start building!

Language Maintainers Official support Driver
C# (.NET) Crate.IO ✔️ Npgsql
Erlang Community craterl
Go Community ✔️ pgx
Java Crate.IO ✔️ crate-jdbc
Node.JS Community ✔️ node-postgres
Node.JS Community crate-connect
Node.JS Community cratejs
Node.JS Community node-crate
PHP Crate.IO ✔️ CrateDB PDO
Perl Community DBD::Crate
Python Crate.IO ✔️ crate-python
Python Community ✔️ asyncpg
Ruby Community crate_ruby
Scala Community crate-scala

If you would like to see something added to this page, please get in touch or edit this page create a pull request.


CrateDB supports the PostgreSQL wire protocol. Accordingly, many clients that work with PostgreSQL also work with CrateDB.

You can try this out for yourself:

  • Configure a PostgreSQL connection, but point your client to a CrateDB server instead of a PostgreSQL server
  • Authenticate as the crate superuser with no password
  • Specify the doc schema, if you’re asked for a database name

Check out the client compatibility notes and implementation differences for information about known limitations.

If you run into issues, please let us know. We regularly update CrateDB to accomodate new PostgreSQL clients.