Skip to content

blog: Prisma Postgres connectivity series (4 drafts, builds on #7996) - #8285

Draft
ankur-arch wants to merge 6 commits into
mainfrom
blog/ppg-connectivity-series
Draft

ankur-arch wants to merge 6 commits into
mainfrom
blog/ppg-connectivity-series

Conversation

@ankur-arch

Copy link
Copy Markdown
Contributor

Summary

Draft of the four-part series proposed in #7996, "Inside Prisma Postgres connectivity", built on Piero's proposal (that branch is merged into this one, so the proposal doc at apps/blog/proposals/ppg-proxy-series.md and its review history come along).

Posts, in series order:

  1. why-prisma-postgres-needs-a-gateway: the connectivity, security, and isolation problems a multi-tenant Postgres platform must solve, and the gateway that solves them.
  2. why-serverless-apps-are-hard-on-postgres-connections: connection lifecycle pressure, transaction pooling, what pooling fixes and what it does not.
  3. designing-a-streaming-api-for-serverless-postgres: the HTTP and WebSocket contract, streamed Bind and DataRow paths, backpressure, and the limits that remain.
  4. unifying-tcp-and-serverless-connectivity-in-prisma-postgres: lifecycle versus protocol processing, the shared pipeline, connection states from the code, and what has landed versus what is planned.

Also adds a prisma-postgres-connectivity entry to the series registry and one hero/meta cover per post (1200x630, Postgres yellow accent, official lockup).

How the drafts were fact-checked

Every implementation claim was traced to prisma/ignite (main at 6941ba5, including the PPg Proxy Revamped project docs), prisma/pdp-metal (ef78271), prisma/pdp-cloudflare (9fff889), the public prisma/ppg-client, and current public docs for Prisma, PgBouncer, PostgreSQL, Neon, Cloudflare, Vercel, and AWS. The full claim ledger and the open questions for engineering are in an internal research file outside this repo (Ankur has it); nothing internal is cited in the posts.

Things the drafts deliberately say differently from the proposal, because the sources say so:

  • Accelerate is not the pooling layer for Prisma Postgres and retires on 2026-12-01; pooling today is per-tenant PgBouncer, with the embedded pool in pdp-metal described as in progress.
  • "Clean, busy, dirty" are not the implementation's connection states, so Post 4 uses the pipeline's idle/active and the pool's Idle, Claiming, Serving, Waiting, Draining, Ended.
  • Post 4 states what has landed in the new codebase versus what is deployed (dev regions) versus what is still undecided, quoting the pool README's own status.
  • "No artificial duration or body-size caps" is scoped to "no whole-result buffering at the gateway", with the remaining limits listed.
  • The stdout logging story, the JDBC sketch, and the pooling rollout order had no written source, so they are omitted or labeled as ideas.

Decisions needed before this leaves draft

  • Bylines. Set to "Ankur Datta" as a placeholder so the pages build. Piero, this is your team's work; please say how you want the credit to read (sole, co-byline, or per post).
  • Dates. All four use 2026-09-16 as a placeholder. Publishing cadence is open.
  • Engineering confirmation on a few scoped sentences: the network-boundary wording in Post 1, the timeout wording in Post 3, and the "what has landed" section in Post 4 if production cutover happens before publication.

Validation

Checks run locally
  • Diagrams rendered with the blog's beautiful-mermaid 1.1.3 and inspected in Chrome.
  • Covers exported through .claude/skills/content-create-hero-image/scripts/ (font subsetting plus headless Chrome), reviewed at full size and at thumbnail size on light and dark surfaces.
  • pnpm --filter blog types:check and pnpm --filter blog lint:links on this branch (results in the PR conversation).
  • House-style sweep: no em dashes, no banned phrases.

🤖 Generated with Claude Code

pcan and others added 6 commits July 2, 2026 12:42
… series entry)

Builds on the ppg-proxy series proposal (#7996), merged into this branch.
Adds the four posts, one hero/meta cover each, and the
prisma-postgres-connectivity series registry entry. Bylines and dates are
placeholders pending a decision in the PR.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
blog Ready Ready Preview Sep 16, 2026 10:37am UTC
docs Ready Ready Preview Sep 16, 2026 10:37am UTC
eclipse Ready Ready Preview Sep 16, 2026 10:37am UTC
site Ready Ready Preview Sep 16, 2026 10:37am UTC

Request Review

@coderabbitai

coderabbitai Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants