Skip to content
Appwrite Databases

Databases for every data model_

Pick the engine that fits your workload, then scale it the same way. Appwrite Databases cover structured tables, documents, vectors, and native SQL, with serverless or dedicated compute, replication, backups, and point-in-time recovery.

Five engines for tables, documents, vectors, and native SQL

  • TablesDB
  • DocumentsDB
  • VectorsDB
  • PostgreSQL
  • MySQL

Five engines, two categories

Appwrite DBs cover tables, documents, and vectors. Native DBs bring managed PostgreSQL and MySQL when you need full SQL control. Pick the model that matches your data, then operate every engine from the same Console and project.

Appwrite DBs

Managed databases built into Appwrite for app data, documents, and AI workloads.

TablesDB

Relational-style tables, columns, and indexes for structured data and complex queries.

DocumentsDB

Flexible JSON documents with filters and full-text search for evolving schemas.

VectorsDB

Embeddings and similarity search for semantic retrieval and AI features.

Native DBs

Dedicated PostgreSQL and MySQL engines for teams that need direct SQL compatibility.

PostgreSQL

Full SQL, extensions, and portable schemas for relational workloads and existing tooling.

MySQL

Familiar MySQL compatibility for common relational apps and migrations.

Serverless or dedicated compute

Start on a shared serverless pool when you want speed and simplicity. Move to dedicated specifications when you need isolated resources, higher connection limits, and production options like replicas and PITR. Choose at create time or upgrade later.

Database typeSpecificationsOptions

Compute model

Choose how this database is provisioned.

Default

Serverless

Shared pool. Fast to create, no capacity planning.

  • Shared compute pool
  • Instant provisioning
  • Ideal for prototypes
Production

Dedicated

Isolated compute with replicas, HA, and PITR.

  • Isolated resources
  • Read replicas & HA
  • Point-in-time recovery

Replication and high availability

Dedicated databases run behind a connection pooler with a primary for writes and read replicas for query scale and failover. Choose asynchronous, synchronous, or quorum sync mode, then promote a replica when you need to move write traffic.

GeneralReplicationPITR
Sync modeAsynchronousSynchronousQuorum
HA enabled

Proxy · Primary · Read replicas

Backups and point-in-time recovery

Automate encrypted hot backups with policies, or create a manual backup when you need a snapshot now. Enable PITR on dedicated databases to restore to a specific moment after accidental deletes, failed migrations, or bad writes.

OverviewBackupsSettings

Backup policies

Encrypted

Hot backups with zero downtime and fast recovery.

Hourly

Runs every hour, retained for 24 hours

Daily

Runs every day, retained for 7 days

Point-in-time recovery (PITR)

Restore to a specific moment beyond the latest backup.

Retention7 days

Permissions wired to Auth

Scope TablesDB and DocumentsDB access with users, teams, and roles from Appwrite Auth. Set rules at the table, collection, row, or document level so each tenant only sees their data.

RowsColumnsSecurity

Permissions

Scope access with Auth users, teams, and roles.

Auth linked
orders3 rules

team:acme

Table

ReadCreateUpdate

role:admin

Table

ReadCreateUpdateDelete

user:owner

Row

ReadUpdate

Queries, relationships, and transactions

Filter, order, and paginate from the SDKs and Console. Model related data with relationships, run multi-step writes in transactions, and use bulk operations when you need to update many rows or documents at once.

RowsIndexesRelationships
Query2 filters
statusequalactive
teamIdequalacme
TitleStatus

Launch checklist

row_01

active

Billing migration

row_02

active

Onboarding emails

row_03

active

Relationships

Link related tables without custom joins.

Transactions

Commit multi-step writes atomically.

Native SQL for PostgreSQL and MySQL

Connect with standard SQL clients and the in-console query editor. Keep portable schemas, use the extensions your stack needs, and manage roles, connections, and backups alongside your Appwrite project.

PostgreSQL

Extensions, roles, SQL editor

Ready
SQL
SELECT id, email, plan
FROM customers
WHERE plan = 'pro'
ORDER BY created_at DESC;

MySQL

Connections, schemas, and backups

Ready
Hostmysql.appwrite.cloud
Port3306
Databaseapp_production
SSLRequired

Works with your ORM and toolstack

Use the same connection strings with Prisma, Drizzle, Sequelize, TypeORM, SQLAlchemy, psql, and the rest of your SQL toolchain. Copy ready-made snippets from the Console Connect tab and keep shipping with the stack your team already knows.

Prisma

Type-safe schema and client for Node.js and TypeScript.

Drizzle

Lightweight TypeScript ORM with SQL-like query builder.

Sequelize

Promise-based ORM for Node.js with multi-dialect support.

TypeORM

Active Record and Data Mapper patterns for TypeScript.

SQLAlchemy

Python SQL toolkit and ORM for expressive queries.

psql

Official PostgreSQL CLI for ad-hoc SQL and schema exploration.

Tools built for developers and agents_

API-first by design. Use the Console, Realtime, SDKs, CLI, Terraform, MCP, and agent skills on the same project.

FAQ_

Appwrite Databases include five engines in two categories. Appwrite DBs are TablesDB for relational-style tables and columns, DocumentsDB for flexible JSON documents, and VectorsDB for embeddings and similarity search. Native DBs are managed PostgreSQL and MySQL for teams that need full SQL compatibility, extensions, and portable schemas.

Start building with Databases_

Create a database, choose your engine and compute model, and query your first data in minutes.