A compatible drop-in alternative to PostgreSQL.

Your application keeps its driver and its SQL. You point it at Mach Database for PostgreSQL by changing the connection address, and nothing else.

What changes

One setting: the host your application connects to. The line below is from the Python example in the Mach Database for PostgreSQL repository.

Before: DATABASE_URL=postgres://app:${DB_PASSWORD}@old-postgres:5432/app

After: DATABASE_URL=postgres://app:${DB_PASSWORD}@machsql-host:5432/app

What stays

  • Your driver or ORM, at the version you use
  • Your SQL
  • Your application code

The product

Written in Rust
Server and command-line tools are one binary.
64-bit platforms
Linux x86-64 and arm64, Windows Server x64, macOS on Apple silicon.
PostgreSQL first
PostgreSQL compatibility is being built now. The MySQL and SQL Server protocols follow.
Pre-release
Nothing to download yet.

Editions

Closed source. Planned editions:

EditionForPrice
Community+Eduindividuals, students, teachers, schools, universities and registered non-profitsfree
Open Sourcemaintainers of open-source projects (OSI licence, public repository), for the project's own infrastructurefree, yearly renewal on application
Enterprise Developerany company, for development, testing, CI, staging and evaluation (no production)free
Enterprisebusiness production usesubscription per vCPU

Examples

27 programs for the original databases, each changing only its connection address.

The rest of Mach Database