Overview of CrateDB drivers and adapters

We recommend to use those drivers and adapters for the corresponding languages and frameworks.:point_down:

Language Driver/Adapter Interface Description
Golang pgx PG A pure Go driver and toolkit for PostgreSQL.
Java PostgreSQL JDBC PG For connecting to CrateDB from any environment that supports it.
Java CrateDB legacy JDBC driver PG For connecting to CrateDB within special scenarios, in order to leverage more features of its type system.
JavaScript, TypeScript node-postgres PG A collection of Node.js modules for interfacing with a PostgreSQL database. [1]
PHP PHP PDO driver HTTP For connecting to CrateDB from PHP.
PHP PHP DBAL adapter HTTP For connecting to CrateDB from PHP, using DBAL and Doctrine.
Python DB-API driver HTTP For connecting to CrateDB from Python. [2]
Python SQLAlchemy dialect HTTP For connecting to CrateDB from Python, using SQLAlchemy.
Python asyncpg PG For connecting to CrateDB from Python. [3]
Python psycopg3 PG For connecting to CrateDB from Python. [3:1]

Note: While we generally recommend the PostgreSQL interface (PG) for maximum compatibility in PostgreSQL environments, the HTTP interface supports CrateDB bulk operations and CrateDB BLOBs, which are not supported by the PostgreSQL protocol.

  1. Has support for callbacks, promises, async/await, connection pooling, prepared statements, cursors, streaming results, C/C++ bindings, rich type parsing, and more. ↩︎

  2. Has support for CrateDB BLOBs. ↩︎

  3. Has support for Python’s asyncio. ↩︎ ↩︎

1 Like

Hi there,

we recently improved the documentation section about Drivers and Integrations, where this overview page has been converged to.

We are always happy about corresponding feedback how to improve the documentation further. For this purpose, you can use the “Suggest improvement” link within the Feedback navigation at the top right of each page.


With kind regards,

Hi amotl,

I would like to point out that there is also a driver for the Elixir language, called Postgrex.



1 Like

Dear Luca,

thank you for pointing that out. Do you know if it works well with CrateDB? Are you using it?

When it works, it would be sweet to add a basic example to the example gallery, and I will also be happy to add it the client drivers page.

With kind regards,