Postgres on Vitess vs Native Postgres Hosting
PlanetScale launched Postgres support in 2025, built on top of Vitess, the sharding system YouTube created to scale MySQL. That choice puts PlanetScale Postgres in an odd spot. It speaks the Postgres

PlanetScale launched Postgres support in 2025, built on top of Vitess, the sharding system YouTube created to scale MySQL. That choice puts PlanetScale Postgres in an odd spot. It speaks the Postgres wire protocol and supports Postgres v17, but it does not run the same storage engine as a stock Postgres install on AWS RDS or a self-hosted VM.
That difference matters more than marketing pages suggest. Anyone comparing PlanetScale Postgres vs native Postgres hosting needs to understand what Vitess changes underneath, not just what the connection string looks like on top.
This article breaks down the architecture, the feature gaps, the pricing, and the actual decision points for teams choosing between the two models in 2026.
Architecture Under the Hood
According to Northflank, PlanetScale's Postgres implementation runs on Vitess infrastructure, which creates real architectural differences from native Postgres hosting. Native Postgres, whether self-managed or run through RDS, Azure Database, or Neon, uses Postgres's own storage engine and replication system end to end.
PlanetScale took a different route for its Postgres product than it did for MySQL. According to a Medium piece from Technology Hits, PlanetScale built its Postgres support from scratch rather than reusing the same MySQL-Vitess stack it had already shipped. That's a meaningful engineering decision. It means the Postgres implementation was tailored to Postgres's architecture instead of being a wire-protocol wrapper bolted onto a MySQL-shaped system.
Still, Vitess at its core was designed to shard and scale MySQL, according to WorkOS. Bringing that sharding model to Postgres means some assumptions baked into native Postgres, like how extensions hook into the storage layer, have to be re-solved for a distributed, Vitess-backed architecture.
For performance-sensitive workloads, PlanetScale also offers Metal deployments. These use locally-attached NVMe SSD drives instead of network-attached storage, according to PlanetScale's own blog, which improves the performance-to-cost ratio compared to typical cloud block storage.
Vitess Postgres Limitations: Feature Parity Matrix
This is where most teams hit friction. Running Postgres on a system designed for MySQL sharding does not guarantee every native Postgres feature survives the transition.
According to SoloDevStack, Postgres workloads running on PlanetScale's engine have historically lacked support for things like JSONB, full-text search, array types, and the broader extension ecosystem that makes Postgres attractive in the first place. PlanetScale's newer from-scratch Postgres build aims to close some of that gap, but extension support remains the sharpest edge of the comparison.
Here's what to check before committing:
- Extensions: PostGIS, pgvector, pg_cron, and other popular extensions may have partial or no support, depending on how they interact with storage internals.
- JSONB and array types: Confirm these work as expected under load, not just in a quick test query.
- Full-text search: Native Postgres tsvector and tsquery functionality needs explicit verification.
- Foreign data wrappers: Cross-database queries often behave differently on sharded systems.
- Stored procedures and triggers: Complex procedural logic can hit edge cases on distributed backends.
Managed Postgres extensions support is one of the biggest reasons teams choose a provider in the first place. If your application leans on pgvector for embeddings or PostGIS for geospatial queries, test those specific extensions in a staging environment before migrating anything production-critical.
Real-World Performance and Scaling
PlanetScale markets itself toward low-latency, high-availability production workloads, and that pitch has some backing. PlanetScale's HA clusters run a primary plus two replicas spread across three availability zones, according to Dreamlit AI, and the setup carries a 99.99% SLA.
That's comparable to what you'd get from a well-configured native Postgres HA setup on RDS Multi-AZ or a similarly configured cloud VM cluster. The difference shows up less in raw uptime numbers and more in how each system scales horizontally.
Horizontal Scaling Postgres 2026: Where the Models Diverge
Native Postgres scales vertically by default. You add CPU, memory, and faster storage to a single primary, then add read replicas for read-heavy traffic. Sharding is possible with tools like Citus, but it requires manual setup and ongoing operational work.
PlanetScale's Vitess foundation is built around sharding as a first-class capability, not an add-on. That's the entire reason Vitess exists: YouTube needed to scale MySQL horizontally beyond what a single server could handle, and PlanetScale is betting that same approach translates to Postgres demand in 2026 as applications outgrow single-node databases faster than before.
The tradeoff is that horizontal scaling on a sharded system introduces its own complexity. Cross-shard transactions, foreign keys across shards, and certain join patterns can behave differently than on a single native Postgres instance. Teams that need true horizontal scale should weigh that complexity against the simplicity of vertically scaling a native instance until it genuinely cannot grow further.
Neon vs PlanetScale Scaling: A Quick Comparison
Neon has become the most common comparison point for PlanetScale Postgres, since both are newer entrants built around modern cloud-native designs. Neon's model centers on branching and serverless autoscaling with separated storage and compute, while PlanetScale centers on Vitess-based sharding and high-availability clusters.
| PlanetScale Postgres | Neon | |
|---|---|---|
| Core architecture | Vitess-based, sharding built in | Separated storage and compute |
| Free tier | None since April 2024 | Available |
| Entry price | $5/monthminimum | Free tier available |
| Scaling approach | Horizontal via Vitess sharding | Autoscaling compute, branching storage |
| High availability | *99.99% SLA on HA clusters | Varies by plan |
| Extension support | Still maturing | Broader native Postgres compatibility |
This table shows the core tradeoff: PlanetScale leans into sharding and HA guarantees, while Neon leans into developer-friendly branching and a free entry point.
For teams prioritizing extension compatibility and a lower cost of entry, Neon or Supabase are usually the safer starting point. For teams that know they need distributed scale from day one and are willing to trade some extension flexibility for it, PlanetScale's architecture is a more direct fit.
Migration Path and Costs
Moving from native Postgres to PlanetScale is not a simple pg_dump and restore in every case, though PlanetScale has worked to simplify the path. According to PlanetScale's own blog, the platform supports online imports from Postgres v13 and later, with automatic version updates applied without downtime.
That's a genuine advantage over some competitors, where major version upgrades still require planned maintenance windows. But "online import" does not mean zero friction. Before migrating, teams should:
- Audit every extension currently in use and confirm PlanetScale support for each one.
- Run a staging migration with production-representative data volume, not a small sample.
- Test application behavior under PlanetScale's connection pooling and transaction model.
- Benchmark query performance for your specific workload, not generic published numbers.
- Plan a rollback path in case extension gaps or performance differences surface late.
Migrating back to native Postgres if PlanetScale doesn't fit is generally more straightforward than the reverse, since the wire protocol is standard Postgres. Data export should work with normal Postgres tooling, though any PlanetScale-specific sharding logic embedded in your schema design would need to be unwound.
Pricing Deep Dive
Cost is often the first filter teams apply, and here PlanetScale's recent changes matter. PlanetScale removed its free Hobby plan in April 2024 and has not brought back a free tier, according to srvrlss. That puts it at a disadvantage against Supabase and Neon, both of which still offer free tiers aimed at developers starting out.
PlanetScale's pricing works by cluster SKU, ranging from PS-5 through PS-2560, according to srvrlss, with storage, backups, and egress billed separately. Single-node Postgres deployments start at $5 a month, but production HA clusters roughly triple compute costs once you add the redundant replicas needed for the 99.99% SLA.
For teams wanting the NVMe-backed Metal option, pricing starts at $50 a month, according to Raff Technologies, which is a meaningful jump from the entry-level single-node tier.
Compare that to native Postgres on a cloud VM, where a small instance can run $10 to $20 a month self-managed, or RDS pricing that scales predictably with instance size. Self-managed native Postgres is cheaper at small scale but requires someone to own patching, backups, and failover configuration, which is real engineering time even if it doesn't show up on an invoice.
When to Choose Each
Neither option is universally better. The right pick depends on workload shape, team size, and how much operational work you want to own.
Choose PlanetScale Postgres if:- You need horizontal scaling built into the platform rather than bolted on later.
- Low-latency, high-availability production workloads are the primary concern.
- Your extension needs are modest or you've already confirmed compatibility.
- You have budget for production-grade HA from the start, since there's no free tier to grow into.
- You depend on the full Postgres extension ecosystem, including PostGIS, pgvector, or niche extensions.
- You're a solo developer or small team needing a free or low-cost entry point.
- Your workload fits comfortably on a single well-sized instance with standard read replicas.
- You want the flexibility to self-host or move providers without re-architecting around sharding.
Lock-In Risk and Developer Experience
Vendor lock-in is a legitimate concern with any platform built on a non-standard underlying engine. Since PlanetScale's Postgres implementation runs its own architecture under a Postgres-compatible surface, schema designs that lean into Vitess-specific sharding behavior could be harder to port elsewhere later.
Connection pooling and transaction handling are also worth testing directly rather than assuming parity with native Postgres. Distributed backends sometimes handle long-running transactions or connection spikes differently than a single-node Postgres instance, and that difference only shows up under real production load, not in a quick demo.
The safest approach is to keep schema design as standard as possible early on, avoid leaning on PlanetScale-specific behavior unless you need it, and benchmark your actual query patterns, not generic ones, before going all in.
Key Takeaways
- PlanetScale Postgres runs on Vitess, built from scratch for Postgres rather than reused from PlanetScale's MySQL stack, but it still inherits a sharding-first design philosophy.
- Extension support is the biggest risk area. Verify PostGIS, pgvector, full-text search, and any niche extensions before migrating anything important.
- PlanetScale offers strong HA guarantees, 99.99% SLA on properly configured clusters, but at a higher price floor since the free tier is gone.
- Neon and Supabase remain better entry points for smaller projects or developers who want to experiment without committing budget.
- Horizontal scaling is PlanetScale's strongest differentiator. If your growth trajectory clearly needs sharding, that architecture advantage is worth the extension tradeoffs. If not, native Postgres hosting is simpler and cheaper.
Sources
Researched from the following. Figures and claims were current when this piece was written and may have moved since.
- Northflanknorthflank.com
- Medium - Technology Hitsmedium.com
- PlanetScale Official Blogplanetscale.com
- srvrlsssrvrlss.io
- WorkOSworkos.com
- SoloDevStacksolodevstack.com
- Dreamlit AIdreamlit.ai
Comments