Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

What is AngaraBase

AngaraBase is a relational DBMS written in Rust, compatible with the PostgreSQL protocol and a subset of its SQL. It is designed for ERP/SaaS workloads, where predictable behavior, explicit boundaries, and an absence of “magic” are critical.

  • Server platform: Linux x86_64 / aarch64 (glibc >= 2.28)
  • Clients: any platform via standard PostgreSQL drivers
  • Current branch: 0.6.x
What this documentation covers

AngaraBase is a young project. This documentation covers what is already working in the code on the current branch, and explicitly separates it from what is in the roadmap.

What you get right now

CapabilityStatus
pgwire protocol, connecting psql/JDBC/psycopg/pgx without modificationsAvailable
A PostgreSQL SQL subset with an explicit contract and pinned testsAvailable
Transactions, MVCC (UNDO-log), READ COMMITTED / REPEATABLE READ isolation levelsAvailable
Per-database backup/restore (cold + online/PITR baseline)Available
Multi-layer security: SCRAM/TLS, RBAC, RLS v1, audit chain, TDE, break-glassAvailable
AngaraTree indexes (B+tree, BRIN), AngaraStat statistics (HLL, histograms, MCV)Available
AngaraPlan cost-based optimizer, AngaraFlow streaming executionAvailable
AngaraVector vectorized execution (scan/filter/project/join/agg, auto/force_* modes)Available (bounded)
AngaraMemory in-memory storage (storage='memory', durability tiers)Available (bounded)
AngaraParallel parallel execution (DOP-caps, partitioned join)Available (bounded)
AngaraColumn columnar storage, HTAP, distributed SQLIn roadmap (see Architecture)

The exact boundaries of SQL support and current limitations are documented in the SQL compatibility overview and Known issues. AngaraBase does not publish a “compatibility percentage” — instead, it provides an exact contract.

Principles

PrincipleWhat it means in practice
Restrictive by defaultStrict checks, constraints, and authentication by default. “Magic” bypasses require an explicit flag
Contract-firstEvery feature has an explicit contract (what is supported, what SQLSTATE on failure, what invariants)
No semantic surprisesUnsupported constructs return an explicit SQLSTATE (0A000 etc.), not a silent bypass
Fail-closedWhen uncertain, the system rejects the request rather than letting it through
Evidence-firstCorrectness is proven by test artifacts and oracle scripts, not marketing
PostgreSQL-friendlypgwire and SQL subset compatibility; no custom wrappers in the client

PostgreSQL Compatibility

AngaraBase implements the pgwire protocol as its primary API. From the client’s perspective, it is a standard PostgreSQL endpoint:

psql "host=127.0.0.1 port=5432 user=angara_root dbname=base sslmode=verify-full"
StackDriverStatus
Pythonpsycopg2, psycopg3Supported
Node.jspg (node-postgres)Supported
JavaPostgreSQL JDBCSupported
Golib/pq, pgxSupported
.NETNpgsqlSupported
Toolingpsql, DBeaverSupported with caveats — see Client compatibility

Full compat contract and smoke scenarios: SQL compatibility overview.

How AngaraBase differs from PostgreSQL

AreaPostgreSQLAngaraBase
Pluggable storageIn progress (pg_am v2)Built-in: row-store + AngaraMemory; AngaraColumn — in roadmap
MVCCUNDO-in-heap (bloat, VACUUM)UNDO-log (separate log, heap contains only current versions)
Backup/restoreCluster-widePer-database, cold + online/PITR baseline
SecurityExtensions and configurationMulti-layer model out of the box: RBAC + RLS + audit chain + TDE + break-glass
Named subsystemsAngaraTree, AngaraStat, AngaraPlan, AngaraFlow, AngaraIO, AngaraGC, AngaraVector, AngaraMemory, AngaraParallel — each with explicit contract and metrics
Behavior on unsupported SQLOften best-effortExplicit SQLSTATE, fail-closed
Compatibility as a metricFull SQLContractual subset with pinned tests and public known-issues registry

Who it is for

  • ERP/SaaS teams (e.g. based on Odoo) who need a predictable PostgreSQL-compatible database with an explicit compatibility contract.
  • DBAs who value explicit behavioral boundaries over “best-effort” compatibility.
  • Engineers who care about knowing exactly what is supported and having reproducible tests as proof.
  • The Community willing to participate in shaping a young DBMS.

What AngaraBase does not do (on the current branch)

  • It does not provide distributed SQL and multi-master HA — these are for future major branches.
  • It does not implement full PostgreSQL SQL — only a contractual subset with clear boundaries.
  • It does not mask unsupported features — you get an explicit error with a SQLSTATE.
  • It does not run on non-Linux servers. Clients are cross-platform.

Getting Started

YouWhere to go
Meeting us for the first timeArchitecture “from a bird’s-eye view”
Want to run locallyQuickstart
Evaluating fit for your stackSQL compatibility overview, Known issues
Planning a production deploymentInstallation, Security, Hardening
Reporting an errorSupport