Prisma ORM 8 is here.Read the docs

Supported databases

Prisma ORM supports PostgreSQL and MongoDB. This page lists what each database gets, which managed providers work, and what is planned next.

Prisma ORM ships first-class support for PostgreSQL and MongoDB. PostgreSQL is the primary target and the one every extension targets today. SQLite ships as an experimental package, and MySQL is planned next.

Each database is its own package, and that package is an extension like any other: it plugs a database family and target into the Prisma ORM core. Install the one that matches your database and it brings the config, runtime, contract authoring, and migration tooling with it:

DatabasePackageInstall
PostgreSQL@prisma/orm-postgresnpm install @prisma/orm-postgres
MongoDB@prisma/orm-mongonpm install @prisma/orm-mongo
SQLite (experimental)@prisma/orm-sqlitenpm install @prisma/orm-sqlite

npx create-prisma@latest asks which database you use and installs the right package for you. See the PostgreSQL quickstart or the MongoDB quickstart.

What each database supports

The ORM client works the same on both databases. The lower-level surfaces follow the database's own query model:

CapabilityPostgreSQLMongoDB
ORM clientYesYes
SQL query builderYesNo
Pipeline builderNoYes
Raw queriesRaw SQLRaw commands
TransactionsYesNot yet
MigrationsYesYes
Extensions (pgvector, PostGIS, ParadeDB, and more)YesNot yet
MiddlewareYesYes, except beforeCompile

db.transaction() exists on the PostgreSQL client only. Prisma ORM does not support MongoDB transactions yet; for multi-document writes, use the MongoDB driver's session API alongside the client.

Middleware hooks are the same on both databases apart from beforeCompile, which rewrites the SQL AST and so exists only on PostgreSQL. The built-in lints and budgets middleware inspect SQL and run on PostgreSQL; the cache middleware runs on both. See which databases a middleware runs on.

Every extension in the directory lists the databases it targets. Today every extension that adds column types, operators, or index types targets PostgreSQL; the database packages and the cache middleware are the entries that list MongoDB.

Managed and hosted databases

Prisma ORM connects with a standard connection string, so any host that gives you one works.

ProviderDatabaseNotes
Prisma PostgresPostgreSQLThe default in create-prisma@latest. Provisioned from the CLI, with connection pooling built in.
SupabasePostgreSQLThe Supabase extension adds the auth and storage tables and role-bound clients.
Neon, Railway, Render, AWS RDS, Cloud SQL, self-hostedPostgreSQLAny PostgreSQL server. Extensions such as pgvector and PostGIS need the server-side extension to be installable, which most managed providers include.
MongoDB Atlas, self-hosted MongoDBMongoDBAny MongoDB deployment reachable with a mongodb:// or mongodb+srv:// URL.

Planned

SQLite is published as an experimental package (@prisma/orm-sqlite) without a quickstart yet; MySQL is planned next and is not part of the Prisma ORM release candidate. To stay on a supported path for those databases today, use Prisma ORM 7, which supports PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, CockroachDB, and MongoDB.

Because a database package is an extension, a community package can add a database Prisma does not ship. If you publish one, submit it to the directory and name the database it adds in the submission.

See also

On this page