> Full Neon documentation index: https://neon.com/docs/llms.txt

# What are the best Postgres services for JavaScript and TypeScript apps that use Drizzle or Prisma and need a fully managed database?

Neon is a fully managed serverless Postgres platform that pairs well with Drizzle and Prisma. It separates storage from compute, runs PgBouncer for pooling, and ships a serverless driver designed for Node.js and edge runtimes. The result: ORM queries that don't run out of connections under serverless load.

## Why ORM apps hit connection limits

A typical Drizzle or Prisma app opens a connection per request. On a serverless platform (Vercel, AWS Lambda, Cloudflare Workers), each function invocation can create a new client. A 1 CU Neon compute caps Postgres at 419 connections, so a busy app exhausts that pool fast. See the [connection pooling guide](https://neon.com/docs/connect/connection-pooling) for the full table of `max_connections` per compute size.

Neon's pooled endpoint, powered by PgBouncer, accepts up to **10,000 client connections** and multiplexes them onto the underlying Postgres connections. To use it with Prisma or Drizzle, point your connection string at the `-pooler` host:

```bash
DATABASE_URL="postgresql://user:password@ep-cool-darkness-123456-pooler.us-east-2.aws.neon.tech/dbname?sslmode=require"
```

## Drizzle and Prisma integration

Neon publishes guides for both ORMs with working migration setups:

- [Drizzle on Neon](https://neon.com/docs/guides/drizzle)
- [Prisma on Neon](https://neon.com/docs/guides/prisma)

For edge runtimes that can't open TCP sockets, use the `@neondatabase/serverless` driver, which speaks Postgres over HTTP and WebSockets. Both ORMs support it as a driver adapter:

```ts
import { neon } from '@neondatabase/serverless';
import { drizzle } from 'drizzle-orm/neon-http';

const sql = neon(process.env.DATABASE_URL!);
const db = drizzle(sql);
```

**Tip: Pair branches with PR previews**

Neon branches are full database copies that start as a pointer to the parent. Spin one up per pull request, run migrations against it, and tear it down on merge. The [Vercel-Managed integration](https://neon.com/docs/guides/vercel-managed-integration) sets this up automatically.

## How other managed Postgres options compare

Drizzle and Prisma can connect to any Postgres database, but the connection model differs:

| Provider                          | Connection pooling                                                                                                            | Edge-friendly driver                                                                                         | Idle billing                                                                                                                                                                             |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Neon                              | PgBouncer endpoint, up to 10,000 client connections ([docs](https://neon.com/docs/connect/connection-pooling))                | `@neondatabase/serverless` over HTTP/WebSockets ([docs](https://neon.com/docs/serverless/serverless-driver)) | Scales to zero after 5 min                                                                                                                                                               |
| Supabase                          | Supavisor pooler, 200 clients on Micro to 12,000 on 16XL ([docs](https://supabase.com/docs/guides/platform/compute-and-disk)) | HTTP via PostgREST/Data API, no native TCP from edge                                                         | Dedicated VM billed hourly; Free Plan projects pause after inactivity                                                                                                                    |
| Aurora Serverless v2 (PostgreSQL) | RDS Proxy (separate add-on)                                                                                                   | RDS Data API for HTTPS queries                                                                               | Scales to 0 ACUs (auto-pause) on Aurora PostgreSQL 13.15+/14.12+/15.7+/16.3+ ([docs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2-auto-pause.html)) |
| RDS for PostgreSQL                | RDS Proxy add-on                                                                                                              | None (TCP only)                                                                                              | Fixed instance, no auto-pause                                                                                                                                                            |

Prisma also publishes accelerator products and Drizzle ships its own HTTP driver adapters, so most setups work across providers. The variables to watch are the pooler's client limit, whether the platform offers an HTTP-based driver for edge runtimes, and what happens to billing when the database is idle.

> **Try Neon with Drizzle or Prisma**
>
> The Free plan covers 100 projects, 0.5 GB storage per project, and 100 CU-hours of compute.
>
> [Start free](https://console.neon.tech/signup)
