Skip to main content

Prisma Postgres®

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:

warning

Prisma Postgres is currently in Early Access and not yet suitable for production use. It doesn't perform any automated backups and thus there's a risk of total data loss.

Getting started with Prisma Postgres

The easiest way to get started with Prisma Postgres is the Quickstart.

Technical details

Here's an overview of the technical details of your Prisma Postgres instances:

  • PostgreSQL version: 16
  • Storage: Max 1GB

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 our announcement article.

Bundling with Prisma Accelerate and Pulse

During the Early Access period, 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 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())

Pricing

Prisma Postgres is free during Early Access. More details on our pricing page.

Temporary limitations

Here's a list of limitations that Prisma Postgres currently has. All of these are temporary and will be lifted in the future.

No automated backups (risk of total data loss)

Prisma Postgres doesn't perform automated backups yet. Hence, there's a risk of total data loss.

No direct TCP connection

You can only interact with Prisma Postgres through Prisma Accelerate's connection pool using HTTP. This means:

  • You have to use Prisma ORM with the Accelerate Client extension to interact with Prisma Postgres from your application. Other ORMs and DB libraries like TypeORM, Sequelize or knex.js are not yet supported.
  • You have to use Prisma Studio if you want to visually explore and edit your data. Other database GUIs like Postico or TablePlus are not yet supported.

Same resource allocation regardless of pricing plan

It's not yet possible to configure the size and resource allocation of your Prisma Postgres instance. All instances will have the same technical details, regardless of the pricing plan you chose.

Limited region support

Prisma Postgres will be gradually rolled out in new regions. If it is not yet available in your preferred region, you can simply subscribe to get notified when it becomes available by subscribing to notifications in the Region dropdown when setting up your Prisma Postgres instance in the Platform Console. We'll send you an email when new regions become available, so you can easily stay up to date.


Note: Postgres, PostgreSQL and the Slonik Logo are trademarks or registered trademarks of the PostgreSQL Community Association of Canada, and used with their permission