CrateDB Clients and Tools

CrateDB is a distributed SQL database that makes it simple to store and analyze massive amounts of machine data in real-time.

Tip

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 are asked for a database name

  • For example, your connection string to a local database might look like postgresql://crate@localhost:5432/doc

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

If you run into issues, please let us know using the Feedback section at the bottom of this page. We regularly update CrateDB to accomodate new PostgreSQL clients.

Clients

Below is a selection of CrateDB client libraries.

Pick your library, and start building!

Language

Name

Maintainer

Official support

C# (.NET)

Npgsql

Community

✔️ (>= CrateDB 4.2.0)

C# (.NET)

CrateDB Npgsql fork

Crate.IO

✔️

Erlang

craterl

Crate.IO

Go

pgx

Community

✔️

Java

PostgreSQL JDBC

Community

✔️ (>= CrateDB 4.2, with known issues)

Java

crate-jdbc

Crate.IO

✔️

Node.JS

node-postgres

Community

✔️

Node.JS

crate-connect

Community

Node.JS

cratejs

Community

Node.JS

node-crate

Community

Perl

DBD::Crate

Community

PHP

CrateDB PDO

Crate.IO

✔️

PHP

CrateDB DBAL

Crate.IO

✔️

PHP

CrateDB driver for Laravel

Community

Python

crate-python

Crate.IO

✔️

Python

asyncpg

Community

✔️

Ruby

crate_ruby

Crate.IO

Ruby

activerecord-crate-adaptor

Crate.IO

Scala

crate-scala

Community

Tools

CrateDB integrates with many different tools. Some of these are:

See also

For more tools and tutorials on how to use CrateDB with them, refer to the integrations category on our blog or the integrations section in our documentation.

Note

If you would like to add to this page, please get in touch or edit this page on GitHub.

Feedback

How helpful was this page?