Skip to content
Appwrite Databases

Managed PostgreSQL and databases for every model_

Run managed PostgreSQL next to tables, documents, and vectors. Connect with Prisma or psql, install pgvector, and scale dedicated compute with backups, replicas, and PITR.

acme / orders-prod
Connected

Query

12 msRun
SELECT u.email, o.total, o.status
FROM orders o
JOIN users u ON u.id = o.user_id
WHERE o.created_at > now() - interval '1 day'
ORDER BY o.total DESC LIMIT 4;
emailtotalstatus
paige@acme.io$1,240.00paid
walter@acme.io$980.50paid
happy@acme.io$642.10pending
toby@acme.io$415.00refunded

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.

Query.equal('plan', 'pro')

DocumentsDBBeta

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

{ "tags": ["new"] }

VectorsDBBeta

Embeddings and similarity search for semantic retrieval and AI features.

[0.12, -0.48, 0.91, …]
Native DBs

Dedicated managed PostgreSQL and MySQL engines you connect to with standard SQL clients.

PostgreSQLBeta

Managed PostgreSQL hosting with full SQL, pgvector, and portable schemas for Prisma, Drizzle, and existing tooling.

SELECT * FROM orders;

MySQLBeta

Familiar MySQL compatibility for common relational apps and migrations.

SHOW TABLES;

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.

Serverless

Default

Shared pool. Fast to create, no capacity planning.

Shared compute pool

Upgrade compute

Dedicated

Production

Isolated compute with replicas, HA, and PITR.

CPU2 vCPU
Memory4 GB
Connections48 / 200
  • 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.

PgDog

Connection pooler

Connections

48 / 200

orders-1
Read replica

Reads

CPU28%
Memory47%
orders-0
Primary instance

Writes

CPU42%
Memory61%
orders-2
Read replica

Reads

CPU31%
Memory44%
Sync modeAsynchronousSynchronousQuorum

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.

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)

Retention 7 days

Restore to a specific moment beyond the latest backup.

Restore time

Sep 30, 14:32:05 UTC

Sep 26Now

Restore completed

orders-prod · 14:32:05 UTC

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.

team:acme

Team

role:admin

Role

user:owner

User

orders3 rules
PermissionsReadCreateUpdateDelete
team:acme
role:admin
user:owner

Rows

row_8f2cuser:paige/readuser:paige/update

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.

2 filtersQuery.equal('status', 'active')Query.equal('teamId', 'acme')

Launch checklist

row_01 · teamId: acme

active

Billing migration

row_02 · teamId: acme

active

Onboarding emails

row_03 · teamId: acme

active

Relationships

teams/acme

Acme Engineering

Link related tables without custom joins.

Transaction

Completed
  1. createRow('orders')
  2. updateRow('teams')
  3. deleteRow('drafts')

Commit multi-step writes atomically.

Managed PostgreSQL and MySQL

Hosted PostgreSQL and MySQL with standard clients and the in-console SQL editor. Use pgvector, PostGIS, portable schemas, and the ORMs you already run.

PostgreSQL

MySQL

psql · orders-prod
Connected
$ psql "$DATABASE_URL"
SSL connection (protocol: TLSv1.3)
app=> CREATE EXTENSION postgis;
CREATE EXTENSION
app=> SELECT count(*) FROM stores
app->   WHERE ST_DWithin(geom, $1, 5000);
 count
-------
    42
(1 row)
app=> 

Extensions

pgvectorPostGISpg_trgm

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.

postgresql://app:••••@postgres.appwrite.cloud:5432/app

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_

Yes. Native PostgreSQL databases are dedicated, managed PostgreSQL instances in your project region. You connect with psql, Prisma, Drizzle, or any PostgreSQL driver over TLS. Appwrite provisions compute, backups, replicas, a connection pooler, and point-in-time recovery. PostgreSQL 18 is the default, with 17 also supported.

Start building with Databases_

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