Skip to main content

Overview

Prisma Postgres is a managed PostgreSQL database service that easily lets you create a new database, interact with it through Prisma ORM, and build applications that start small and cheap but can scale to millions of users.

It supports the following workflows:

Billing

Usage-based pricing

Prisma Postgres charges for:

  • number of operations
  • storage (in GiB)

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

This allows you to intuitively relate your database usage to your own product usage and user behavior.

Learn more on our pricing page.

Spend limits

Prisma Postgres allows you to set limits to ensure you never get a surprise bill. You'll receive alerts when you reach 75% of your set limit, and if you reach 100%, your database will be paused. This ensures you'll never have an unexpected bill, and you can always be in complete control of your spending.

Bundling with Prisma Accelerate and Pulse

Prisma Postgres comes bundled with Prisma Accelerate and Prisma Pulse.

Using the Client extension for Prisma Accelerate (required)

Because all traffic to Prisma Postgres is routed through Accelerate's connection pool, your project must have the @prisma/extension-accelerate npm package installed. The extension then needs to be applied to the PrismaClient instance you use to interact with your database:

import { PrismaClient } from '@prisma/client'
import { withAccelerate } from '@prisma/extension-accelerate'

const prisma = new PrismaClient()
.$extends(withAccelerate())

Using the Client extension for Prisma Pulse (optional)

Pulse is able to deliver real-time events from your Prisma Postgres database to your application via Prisma Client. If you want to make use of this functionality, you'll need to enable Pulse in your project in the install the @prisma/extension-pulse npm library in your project and apply the extension to your PrismaClient instance:

import { PrismaClient } from '@prisma/client'
import { withAccelerate } from '@prisma/extension-accelerate'
import { withPulse } from '@prisma/extension-pulse'

const prisma = new PrismaClient()
.$extends(withAccelerate())
.$extends(withPulse())

Technical details

PostgreSQL version

Prisma Postgres is based PostgreSQL v17.

Architecture

Prisma Postgres uses a unique architecture to deliver unmatched efficiency, safety and ease of use. It is deployed on bare metal servers using unikernels (think: "hyper-specialized operating systems").

Learn more about the architecture in this article: Prisma Postgres®: Building a Modern PostgreSQL Service Using Unikernels & MicroVMs.