Database guides
CrateDB
Distributed SQL for time-series and IoT that speaks the PostgreSQL wire protocol. AddisDB queries and browses it; the Postgres-specific tooling stays switched off.
CrateDB is a distributed database built on Lucene that presents a SQL interface and speaks the PostgreSQL wire protocol. AddisDB connects with its Postgres driver, but CrateDB is not PostgreSQL underneath — it emulates just enough of pg_catalog for common clients to connect, and keeps its real metadata in information_schema and its own sys schema.
Who it is for
CrateDB suits high-ingest time-series and machine-data workloads that also need ad-hoc SQL and full-text search over the same tables. It shards and replicates automatically, and it handles semi-structured columns natively through its OBJECT type.
It is a poor fit for transactional work. There are no cross-row transactions, no foreign keys, and updates are eventually consistent by default — a row you just wrote may not appear in the next query unless you refresh the table first.
Set up the cluster
- Note any node’s hostname — CrateDB clusters have no special coordinator, so every node accepts queries.
- Use the PostgreSQL wire port, 5432. The admin UI and HTTP endpoint are on 4200 and are not what AddisDB connects to.
- Create a user with the privileges you need, or note the existing one. The default superuser is crate and has no password on a fresh install.
- If the cluster enforces authentication, check that your address is covered by the auth.host_based.config entries.
# The PG wire port, not the 4200 HTTP endpoint
psql -h crate.example.com -p 5432 -U crate -d doc -c 'SELECT name, version FROM sys.nodes;'
Connect from AddisDB
- New Connection → CrateDB. Port prefills to 5432, schema to doc and username to crate.
- Enter the host. Leave the password blank if the cluster has no authentication configured.
- Set SSL mode to require if the cluster terminates TLS.
- Test, then Save.
What AddisDB gives you
Queries and the schema tree. Tables and columns come from information_schema and load normally; introspection runs leniently, so the sections CrateDB does not implement — function bodies, trigger definitions — come back empty rather than failing the whole schema load.
The results grid, exports, saved queries, the Data Map and everything else that works from a result set work here as they do anywhere.
Several Postgres-specific features are deliberately switched off, because CrateDB does not implement what they need. There is no Live Monitor — CrateDB has no pg_stat_activity, and its own cluster state lives in sys.nodes and sys.jobs, which you can query directly. The structured create and alter table buttons are hidden, because CrateDB’s CREATE TABLE needs its own PARTITIONED BY and CLUSTERED BY clauses and stock Postgres DDL would simply be rejected. Database-user management and test clones are off for the same reason.