Explore how Supabase's Multigres architecture scales PostgreSQL horizontally using a decoupled proxy model, solving the Postgres Cliff for modern applications.

A quiet crisis is unfolding in modern software architecture. For years, engineering teams have chosen PostgreSQL as their default database. It is highly reliable, feature-rich, and handles complex relational workloads with ease. But when an application experiences explosive growth, that single database instance eventually hits a physical wall. This bottleneck is commonly known as the Postgres Cliff.
Historically, when teams hit this wall, they faced a painful choice. They could either buy increasingly expensive hardware to scale vertically, or undertake a high-risk, multi-month migration to a distributed database. This month, the database landscape changed dramatically. Supabase announced a massive 500 million dollar Series F funding round. This capital injection is designed to accelerate their lead in building agentic database infrastructure. At the core of this effort is Multigres, an open-source horizontal scaling layer for PostgreSQL.
Built in collaboration with Sugu Sougoumarane, the co-creator of Vitess, the technology that famously scaled YouTube, Multigres aims to bring horizontal scaling to the Postgres ecosystem. In this guide, we will break down the architecture of Multigres v0.1 Alpha, which launched in June 2026. We will look at how it decouples compute from storage, resolves high-availability consensus, and changes the way we design scalable systems.
Whether you are a technical founder preparing for a launch or a CTO planning a legacy database rewrite, understanding this architectural shift is essential. We have designed this deep dive to help you evaluate if scaling Postgres with Multigres is the right move for your engineering roadmap.
Multigres is an open-source, Vitess-inspired scaling operating system for PostgreSQL that enables horizontal database scaling, connection pooling, and consensus-driven high availability. It scales Postgres by decoupling query routing from connection pooling across multiple unmodified database instances, allowing teams to partition and shard data without forks or custom extensions.
In client projects, we frequently see teams struggle with the limits of single-node relational databases. When an application scales, a single machine eventually runs out of CPU, memory, or disk input-output operations. Multigres solves this by sitting as a proxy layer in front of your database nodes. This proxy intercepts SQL queries, parses them, and distributes the workload across multiple underlying Postgres instances. By doing so, it provides a clear, progressive path from a single small server up to a globally distributed, sharded database cluster.
Every software product starts with a database. In the early stages, database management is straightforward. You spin up a managed Postgres instance on AWS RDS, Supabase, or GCP Cloud SQL. As user traffic grows, you scale the database vertically by adding more virtual CPUs and RAM. This approach works well for a long time. However, vertical scaling is inherently limited by physical hardware boundaries. You cannot scale a single virtual machine indefinitely.
When you hit the maximum limits of vertical scaling, you hit the Postgres Cliff. To keep the application running, engineers traditionally rely on three methods. Each of these methods introduces severe trade-offs:
In our work on web application design and development, we have seen how these trade-offs stall product roadmaps. Teams spend months refactoring database code instead of shipping user-facing features. This distraction slows down business growth. It also increases the risk of introducing critical bugs into production systems.
To solve the Postgres Cliff, Supabase looked at how YouTube solved its massive MySQL scaling challenges. YouTube used Vitess, an open-source database clustering system. Vitess acts as a proxy layer that sits in front of MySQL. It handles sharding, connection pooling, and query routing. It allows applications to treat a massive cluster of MySQL databases as if it were a single, giant database.
Multigres is essentially Vitess built specifically for the Postgres ecosystem. The project is led by Sugu Sougoumarane, the co-creator of Vitess, who joined Supabase to bring these proven distributed systems concepts to PostgreSQL.
The primary goal of Multigres is to allow teams to scale Postgres horizontally without losing standard Postgres compatibility. Your application does not need to know that the database is sharded. It continues to send standard SQL queries to a single entry point. Multigres takes care of the complex distributed systems engineering behind the scenes. It manages the read replicas, orchestrates failovers, enforces connection limits, and shards your tables.
Over 60% of new databases on the Supabase platform are now launched autonomously by artificial intelligence coding agents.
This massive volume of database deployments requires an infrastructure layer that can scale programmatically. Multigres is designed to be that layer. It acts as a scalable operating system for Postgres, automating the complex chores that used to require a dedicated team of database administrators.
The core architectural innovation of Multigres is its two-level proxy layer. Unlike traditional database proxies that try to handle routing and pooling in a single process, Multigres splits these responsibilities into two distinct, independently scalable components: MultiGateway and MultiPooler.
MultiGateway is the top layer of the Multigres architecture. It serves as the entry point for your application. To your application code, MultiGateway looks and acts exactly like a standard PostgreSQL server.
When MultiGateway receives an incoming SQL query, it parses the query, analyzes the SQL abstract syntax tree, and determines where the query needs to go. If you are running a single database, it simply passes the query down. If you are running a primary-replica setup, it automatically routes write queries to the primary node and read queries to the replicas. When you scale to a sharded cluster, MultiGateway inspects the query's sharding key and routes the request to the specific database instance that holds that data.
Because MultiGateway is stateless, you can scale it horizontally to handle massive amounts of concurrent client connections. It acts as a compute layer, shielding your actual database nodes from the overhead of managing client session states.
MultiPooler is the bottom layer of the architecture. There is exactly one MultiPooler instance running alongside each individual PostgreSQL database node.
Its primary job is connection pooling. Instead of allowing thousands of direct application connections to overwhelm the Postgres engine, MultiPooler maintains a small, highly optimized pool of persistent connections to the local Postgres process. It is deeply aware of the PostgreSQL protocol, transaction states, and connection-specific settings. This deep awareness ensures that client state changes, like setting a session variable, do not leak between different client sessions.
By separating the gateway from the pooler, Multigres solves a classic scaling bottleneck. We often advise startups that optimizing database compute is one of the easiest ways to cut cloud bills. Decoupling these processes allows you to scale your query-routing compute independently from your database storage nodes. This separation of concerns prevents a surge in connection requests from starving your database of CPU and memory.
In a distributed database setup, maintaining high availability without risking data corruption is incredibly difficult. The classic failure mode is a split-brain scenario. This happens when a network partition divides your database cluster. If both sides of the partition believe they are the primary node, they will both accept write operations. This results in conflicting data that is nearly impossible to reconcile.
Multigres addresses this challenge by treating high availability as a generalized consensus problem. It implements a consensus protocol designed to resolve network partitions safely and automatically. This protocol has two key features that set it apart from traditional database clustering solutions:
When a primary node fails, the Multigres consensus layer quickly detects the failure. It coordinates with the other nodes to elect a new primary. Because the consensus logic lives in the proxy and management layer, Multigres can perform this election and failover without losing any committed transactions. The MultiGateway layer holds incoming application queries during the failover process. Once the new primary is active, the gateway routes the pending queries to the new primary. Your application experiences a brief pause in latency rather than a hard database connection error.
One of the most important design decisions of the Multigres team is their commitment to standard, unmodified PostgreSQL. Many scaling solutions on the market require you to use a custom fork of Postgres. Others rely on complex, proprietary database extensions that must be compiled directly into the database engine.
This approach creates significant risks for engineering teams. When you use a modified version of Postgres, you are at the mercy of the vendor's update cycle. If a critical security patch is released for standard Postgres, you must wait for the vendor to backport that patch to their fork. custom forks often break compatibility with the massive ecosystem of Postgres tools, extensions, and libraries.
Multigres rejects this approach. It is designed to work with standard, vanilla PostgreSQL. The core scaling and management logic lives entirely outside the database engine, in the Go-based proxy and operator layers.
This design philosophy matches our own engineering values. When we provide a tech partnership and consultation for scaling enterprises, we always advise against vendor lock-in. By keeping the database engine clean and unmodified, Multigres ensures that you can always move your data back to standard Postgres if your requirements change.
This clean separation also allows teams to easily adopt modern PostgreSQL capabilities. For instance, you can use advanced extensions like pgvector for AI-native workloads. This compatibility aligns with our view that teams should choose pgvector over dedicated vector databases to keep their architecture simple and maintainable.
The release of Multigres v0.1 Alpha in mid-2026 comes at a unique moment in software history. We are witnessing an unprecedented boom in AI-driven development. Autonomous AI coding agents, such as Claude Code, are no longer just writing simple scripts. They are actively building and deploying entire software platforms.
According to Supabase CEO Paul Copplestone, demand for their platform is exploding, with a 600% increase in databases year-over-year. Strikingly, AI agents are now deploying the majority of databases on their platform. This shift is fundamentally changing the role of database infrastructure. When software is written and deployed by AI agents, we can no longer rely on human database administrators to manually provision, optimize, and scale databases.
We need autonomic database infrastructure. This means databases must be self-provisioning, self-optimizing, and self-scaling. Multigres is built to serve as the foundational operating system for this agentic future. Because it exposes a clean, programmatic management layer, AI agents can easily orchestrate complex database topologies.
As we explored in our analysis of how AI developer agents shift your MVP scope, the speed of software delivery is accelerating. Multigres allows AI tools to spin up, shard, and manage thousands of databases autonomously. This automation removes the database bottleneck from the modern development lifecycle.
For years, PgBouncer has been the industry standard connection pooler for PostgreSQL. It is a lightweight, reliable tool that has saved countless production databases from connection exhaustion. However, PgBouncer has several architectural limitations that make it difficult to use in modern, dynamic cloud environments.
To understand why Multigres built its own connection pooler, MultiPooler, we must look at how they compare across key operational areas:
| Feature | PgBouncer | Multigres (MultiPooler) |
|---|---|---|
| Pooling Modes | Requires choosing between Session, Transaction, or Statement modes. | Automatically handles pooling without forcing a rigid mode. |
| User Fairness | Can allow a single runaway user or tenant to starve others of connections. | Implements per-user pools that share the underlying connections fairly. |
| Dynamic Configuration | Requires manual configuration file reloads or signal sending. | Fully dynamic, managed programmatically via the Kubernetes operator. |
| Query Parsing | Does not parse SQL; acts as a blind proxy. | Deeply understands the Postgres protocol and transaction states. |
The most significant pain point with PgBouncer is its pooling modes. If you choose transaction pooling, which is necessary for scaling high-connection workloads, you lose support for certain Postgres features, such as prepared statements and temporary tables. This limitation forces developers to make compromises in their application code.
MultiPooler solves this by decoupling the connection management logic from the database session state. Because it is designed to work in tandem with the MultiGateway layer, it can preserve the expected behavior of a persistent session while still pooling connections efficiently at the database level.
In our experience, improper connection pooling is a primary reason why background job queues fail under peak traffic. When a spike in background tasks hits a database without intelligent pooling, the database quickly runs out of available connection slots. By replacing PgBouncer with a more intelligent, protocol-aware pooling layer, Multigres prevents these failures from bringing down your production services.
When engineers think about scaling Postgres horizontally, Citus is often the first tool that comes to mind. Citus is a mature, powerful extension that transforms Postgres into a distributed database. While Citus is excellent for many use cases, it has a fundamentally different architectural philosophy than Multigres.
The primary difference lies in how they integrate with the PostgreSQL engine. Citus is built as a PostgreSQL extension. It modifies the database's internal planner and execution engine to distribute queries across a cluster of coordinator and worker nodes. This deep integration allows Citus to perform complex distributed joins and analytical queries with incredible speed.
However, this deep integration also introduces challenges:
Multigres takes a different path. It uses a layered proxy architecture that sits entirely outside the database. By keeping the database engine unmodified, Multigres ensures complete compatibility with standard Postgres. It focuses on operational simplicity, high availability, and horizontal scaling via sharding without modifying how Postgres itself stores or processes data.
For teams building modern SaaS applications, the proxy-based approach of Multigres is often much easier to operate and maintain than a deeply integrated extension like Citus. It provides the benefits of horizontal scaling without the operational overhead and vendor lock-in of a modified database engine.
While Multigres is still in its early alpha stage, the team has made ease of deployment a priority. They have released the Kubernetes Multigres Operator, which automates the provisioning and management of Multigres clusters.
To deploy Multigres in your own environment, you need a running Kubernetes cluster and a configured backup location, such as an AWS S3 bucket. The deployment process follows these general steps:
MultiGateway and MultiPooler instances, and your durability policies.Once deployed, the operator continuously monitors the health of your cluster. If a database node fails, the operator coordinates with the consensus layer to initiate an automatic failover and provision a replacement node. This automated management reduces the operational burden on your engineering team, allowing you to focus on building features rather than managing database infrastructure.
As you plan your infrastructure deployment, security must remain a top priority. Database credentials, backup configurations, and API endpoints must be carefully secured. We frequently discuss how overlooked API security threatens your scaling roadmap. When deploying distributed database systems, ensuring that your proxy layers and Kubernetes configurations are secure is just as important as optimizing your database queries.
With the release of v0.1 Alpha, the technical community is understandably excited about the potential of Multigres. However, as a professional engineering team, we must look at this release with a realistic, critical eye.
The honest answer is that Multigres is currently not production-ready. The v0.1 Alpha release is designed for testing, feedback, and architectural validation. The team has explicitly stated that the APIs and configurations are subject to change before the stable v1.0 release.
some of the most anticipated features, such as Vitess-grade horizontal sharding, are not yet fully implemented in the alpha release. The current version focuses on nailing the hard foundational parts first: connection pooling, automatic failover, consensus-driven high availability, and the Kubernetes operator.
For most production workloads today, we recommend stick with standard, well-optimized Postgres, using proven tools like PgBouncer for connection pooling and managed services for replication and high availability. However, Multigres is a project you should actively watch. It represents the future of how we will scale relational databases.
If you are an enterprise engineering team looking to scale your database infrastructure, we can help. As a software development company in Canada, we specialize in helping client teams design, build, and optimize scalable database architectures. We can work with you to evaluate your current database performance, implement intelligent caching and pooling strategies, and prepare your stack for horizontal scaling when the time comes.
Key takeaways
- ** Decoupled Proxy Architecture:** Multigres splits database responsibilities into stateless query-routing gateways (
MultiGateway) and node-local connection poolers (MultiPooler).- Vanilla Postgres Compatibility: Unlike custom forks or invasive extensions, Multigres runs on standard, unmodified PostgreSQL, eliminating vendor lock-in.
- Consensus-Driven High Availability: It treats failover as a consensus problem, automatically resolving split-brain scenarios without losing committed data.
- Built for the Agentic Era: The proxy-first, programmatically managed design of Multigres makes it highly suitable for autonomous AI-driven database provisioning and scaling.
- Alpha Status: While highly promising, Multigres v0.1 Alpha is currently not ready for critical production workloads and should be used for testing and architectural planning.
Multigres is not a replacement or a fork of PostgreSQL. It is an external, open-source scaling and management layer that sits in front of standard, unmodified Postgres instances. It provides horizontal scaling, sharding, and advanced connection pooling without modifying the database engine itself.
No, we do not recommend using Multigres in production yet. The current release is v0.1 Alpha, which is intended for testing, architectural validation, and community feedback. Key features like horizontal sharding are still under active development.
PgBouncer requires you to choose a rigid pooling mode (session, transaction, or statement) and can allow a single user to starve others of connections. Multigres implements MultiPooler, which handles pooling dynamically without forcing a rigid mode and shares connection pools fairly among users.
Yes, because Multigres works with standard, unmodified PostgreSQL, it supports the entire ecosystem of Postgres extensions, including pgvector for AI applications and PostGIS for geospatial data.
Multigres implements a consensus protocol built on top of standard Postgres physical replication. This protocol treats high availability as a consensus problem, allowing the system to safely elect a new primary and resolve network partitions without losing committed data.
Sugu Sougoumarane is the co-creator of Vitess, the distributed database engine that scaled YouTube. He joined the Supabase team to lead the development of Multigres, bringing his extensive experience in building large-scale database clustering systems to the Postgres ecosystem.
You can deploy Multigres using the Kubernetes Multigres Operator. The operator automates the provisioning of database nodes, configures replication, deploys the proxy layers, and manages automated backups to cloud storage like AWS S3.
No, there is no vendor lock-in. Because Multigres is open-source (Apache 2.0 license) and runs on top of standard, unmodified PostgreSQL, you can easily migrate your data back to a standard Postgres setup if you decide to stop using the proxy layer.
Scaling a database is one of the most challenging milestones in a product's lifecycle. It requires a deep understanding of hardware limits, network protocols, and distributed systems engineering. The launch of Multigres v0.1 Alpha marks a major step forward, offering a glimpse of a future where scaling Postgres horizontally is as simple as deploying a Kubernetes operator.
While the technology is still maturing, the architectural principles behind Multigres are highly relevant today. Decoupling compute from storage, implementing intelligent connection pooling, and planning for horizontal data distribution are strategies that can save your application from costly downtime as you grow.
At Algoramming, we help product teams build resilient, high-performance systems from day one. If you are facing database performance bottlenecks, planning a migration, or designing a new cloud-native application, we are happy to talk it through. Our team can help you evaluate your options, optimize your existing database queries, and design a database architecture that scales smoothly with your business.
We specialize in custom software development and tech partnerships that help engineering teams ship high-quality products without slowing down. Get in touch with us to discuss how we can support your database scaling and cloud infrastructure needs.
01 · RelatedDiscover how the June 2026 AI updates, including Claude Fable 5, MiniMax M3, and the agentjacking exploit, redefine modern software engineering pipelines.
Read post
02 · RelatedA detailed cost and budget breakdown for engineering enterprise web applications in Dhaka, comparing in-house hiring with structured agency partnerships.
Read post
03 · RelatedThe newly disclosed Agentjacking exploit allows attackers to hijack Claude Code, Cursor, and Codex via Sentry. Learn how to secure your team's AI development pipelines today.
Read postWe will reply in plain English within one business day, NDA on request. Discovery call is free.