Prisma
Back to blog

Prisma Postgres: The Future of Serverless Databases

Nikolas Burk
Nikolas Burk
February 3, 2025
Updated September 28, 2026

Prisma Postgres is ready for production. Built on unikernels and bare metal infrastructure, it has zero cold starts, a built-in connection pool, and pricing based on operations and storage.

Prisma Postgres is ready for production 🎉

Prisma Postgres is built on a technology stack based on unikernels and bare metal infrastructure. Here are the main features and benefits this enables:

  • Zero cold starts: Instant access to your database without delays.
  • Generous free tier: 100k operations, 500 MB storage per month & 50 databases.
  • Built-in connection pool: Scale your app without worrying about TCP connections.
  • Query Insights: Understand slow queries with AI-generated analysis and suggested fixes.
  • Simple usage-based pricing: Predictable costs based on operations & storage.

Try it now by following the Quickstart or simply run this command in your terminal:

# Create a new database
npx prisma@7.9.1 init --db

The serverless database that's built for the future

Prisma Postgres has been designed from first principles and with the developer in mind. No more complicated setup flows or database configurations—set up your Prisma Postgres instance and start querying in a minute.

Serverless—but without cold starts

Serverless databases are awesome because of their pay-as-as-you go pricing models that only incur costs when the database is used. However, one downside of this approach is that, once a database was scaled down to zero, it needs to be "woken up" again. This wake-up process is known as cold start and can cause serious delays for your users.

Prisma Postgres is the first serverless database without cold starts thanks to its innovative architecture and milli-second cloud stack running on bare metal machines.

For free: 100k operations, 500 MB storage & 50 databases

Experimenting with a new technology, building prototypes, or working on hobby projects shouldn't cost you any money! Prisma Postgres provides a generous free tier that lets you kick off any project without worrying about costs.

This is possible because Prisma Postgres is based on unikernels (think: "hyper-specialized operating systems") running as ultra-lightweight microVMs. These unikernels are extremely efficient and allow to run thousands of database instances on a single machine.

As a user, this means you can create up to 50 databases per workspace for free to play around and build small projects with. You also get 100k operations per month and 500 MB storage that you can use to hack around without worrying about cost.

Simple & predictable: Pricing anyone can understand

Pricing for Prisma Postgres is different than for other database providers. It charges for number of database operations and GiB storage rather than upfront resource allocation, compute hours, or egress. Paid plans start at $10 per month with 1M operations, 10 GB storage, and 1,000 databases included.

An operation is counted each time you do a create, read, update or delete with Prisma ORM against your Prisma Postgres instance.

With this kind of pricing model, one of the first concerns developers typically have is: How to prevent an enormous, surprise bill in case there's a lot of unforeseen traffic"? Short answer: On paid plans, you can put spend limits in place in order to control your budget and avoid excessive costs. On the Free plan, you never get billed at all.

Prisma Postgres pricing plans: Free, Starter at $10 per month, Pro at $49 per month, and Business at $129 per month, each listing included operations, storage, and databases

Our goal is to make pricing substantially more simple than other providers. This pricing model lets you predict your usage and reason about cost more easily based on the actual traffic your application will see. With traditional pricing, the burden of scaling is on you: If you have low-traffic periods, and high-traffic periods (like most production apps) then you either under-provision and risk having downtime in busy periods, or you over-provision and pay a lot more for your database.

With Prisma Postgres' usage-based pricing, you truly pay only for what you need!

Query caching at launch, and what to use now

When this post was first published, this section described a per-query cache that you turned on by extending Prisma Client with @prisma/extension-accelerate and adding a cacheStrategy option to a query. That cache is part of Prisma Accelerate, not of the Prisma Postgres database, and it will be retired with Accelerate on December 1, 2026. Until then, it works only when your app connects to Prisma Postgres through a hosted Accelerate connection, and it serves cache hits from Cloudflare's network.

A cacheStrategy takes two timing options. ttl (time-to-live) sets how long a cached result counts as fresh, and swr (stale-while-revalidate) sets how long a result past its ttl can still be served while the cache fetches a new one in the background. Accelerate also lets you invalidate cached results on demand through cache tags.

If your code sets cacheStrategy, remove it before you move off Accelerate. The guide to connect to Prisma Postgres without Accelerate lists every Accelerate API to search for.

If your app needs caching, cache in your application's memory. Prisma ORM 8, which is a release candidate, ships a first-party cache middleware that does this per query: you mark a read with a TTL, and the middleware keeps the rows it returned in the memory of one process for up to that TTL. It is a Prisma ORM feature, not a Prisma Postgres feature, and it works with PostgreSQL and MongoDB.

A cache like this suits reads that run over and over and can be a little out of date, such as a dashboard, a lookup table, or feature flags. Each process keeps its own copy of the rows, so two instances of your app can return different rows for the same read. Leave reads that must be correct uncached, such as a permission check or an account balance.

Scale effortlessly with built-in connection pooling

A connection pool is a crucial component if you want to scale your application and have it respond to your users' requests in a timely and efficient manner. The reason is that the creation of database connections is an expensive operation, so you want to avoid having to re-open new connections frequently (or in the worst case, for every new user request).

This is especially important if your app is deployed via serverless or edge functions, where it's not possible to keep database connections open due to the ephemeral nature of these environments. The consequence is that your application is going to fail during traffic spikes when the number of requests exceeds the number of available connections:

Prisma Postgres' built-in connection pool helps you prevent these failure scenarios and deal with traffic spikes without any extra effort! It also prevents query delays due to the need of establishing new connections because connections are opened once and will be reused upon future requests.

First-class integration with Prisma ORM

Prisma ORM is the most popular ORM in the Node.js and TypeScript ecosystem. Developers love it for the human-readable schema, automated migrations and type-safe queries.

Here is an example of how you model your data with Prisma ORM:

model User {
  id    Int     @id @default(autoincrement())
  email String  @unique
  name  String?
  posts Post[]
}

model Post {
  id        Int     @id @default(autoincrement())
  title     String
  content   String?
  published Boolean @default(false)
  author    User    @relation(fields: [authorId], references: [id])
  authorId  Int
}

Prisma ORM then translates this schema into a SQL migration and updates the schema in your database. Once the tables are created, you can read and write data with Prisma ORM's intuitive query API:

const usersWithPosts = await prisma.user.findMany({
  include: { posts: true },
})
const posts = await prisma.post.findMany({
  where: {
    OR: [
      { title: { contains: 'prisma' } },
      { content: { contains: 'prisma' } },
    ],
  },
  skip: 100,
  take: 5,
})
const user = await prisma.user.create({
  data: {
    name: 'Alice',
    email: 'alice@prisma.io',
    posts: {
      create: { title: 'Prisma Postgres is the most innovative database' },
    },
  },
})
const posts = await prisma.post.findMany({
  where: {
    author: {
      email: { endsWith: "prisma.io" }
    }
  },
  include: { author: true }
})
const posts = await prisma.post.updateMany({
  where: { published: false },
  data: { published: true },
})

Prisma Postgres is designed to work seamlessly with Prisma ORM, leveraging its tightly integrated connection pool for optimal performance and scalability. Since October 2025, direct TCP connections are Generally Available as well: you can connect with Drizzle, Kysely, TypeORM, psql, or any other Postgres-compatible library and database GUI. Learn more about connecting to your database in our docs.

Netlify, Vercel & Firebase Studio: Try one of our integrations

Prisma Postgres is available via a Netlify extension which allows you to easily connect your Prisma Postgres instance with a Netlify site. If you're curious, you can follow our guide to deploy a Next.js site with Prisma Postgres to Netlify.

Prisma Postgres is also available on the Vercel Marketplace, so you can provision a database directly from your Vercel dashboard. See the Vercel guide for the full setup, or check out our official Next.js with Prisma Postgres example.

We've also collaborated with the folks from Google's Firebase Studio (formerly Project IDX), an amazing online IDE, and created a template so you can try Prisma Postgres without leaving your browser.

Built on next-generation infrastructure

Let's talk about the underlying technology that enables these unique benefits and features.

The first database running on unikernels

We're very excited about advancements in the unikernel technology that is behind Prisma Postgres! Unikernels are "specialized operating systems" with only the resources they actually need to run an application:

Unikernels have been around for a while and we have observed them as an emerging technology trend for a long time. As we started our collaboration with Unikraft—a company that's pioneering the unikernel landscape—we found that they're finally ready for high-performance production workloads! So we decided to build Prisma Postgres on top of them.

Unikernels are famous for providing excellent performance in terms of boot times, throughput and memory consumption, to name a few metrics.

Unikraft: Fast, Specialized Unikernels the Easy Way (Research paper, EuroSys 21)

Together with Unikraft, we were able to reduce the Prisma Postgres binary image to less than 20% of the size of the original PostgreSQL image, making the Prisma Postgres architecture even more efficient.

These specialized binary images are deployed as unikernels on our own bare metal machines; and, as unikernels are ultimately virtual machines, each PostgreSQL instance provides strong, hardware-level isolation.

For how a query traveled through Cloudflare, unikernels, and bare metal at launch, read Cloudflare, Unikernels & Bare Metal: Life of a Prisma Postgres Query. That post was written in February 2025, and its sections on the cache describe the Accelerate cache covered above.

Looking ahead: Prisma 8

Prisma Postgres also pairs with Prisma 8, the next generation of Prisma ORM, now available as a Release Candidate. In Prisma 8, your schema is a single centralised data contract that both you and your coding agent work against, with type-safe queries expressed in terms of your models.

It's fast, too: in our published benchmark, a fork of the open-source drizzle-benchmarks suite, Prisma 8 reaches roughly 90% of the raw pg driver's speed and ships a client of about 148.5 KB gzipped. It works with Prisma Postgres out of the box. For new projects, especially ones built with AI coding agents, it's the direction to watch.

We're just getting started!

The official General Availability launch of Prisma Postgres in February 2025 was a major milestone for us as a company! We are incredibly grateful for the strong support, valuable feedback and overall excitement shared by our community. Without all of you, we would not have been able to bring Prisma Postgres to this point. Thank you đź’š

Let us know what features you'd like to see us add to Prisma Postgres next: Reach out to us on X and LinkedIn, subscribe to our YouTube channel, and join our Discord.


Try Prisma Postgres

About the author

Nikolas Burk
Nikolas Burk

Nikolas was employee #3 at Prisma and spent 9 years teaching developers about ORMs and databases. He left in October 2025 to focus on his own projects and work as an independent Software Engineer and Developer Educator.

Keep reading

Build your next app with Prisma

Start free. Scale when you’re ready.

Try Prisma
Share this article