supabase

supabase/supavisor

Elixir Apache-2.0 DevOps

A cloud-native, multi-tenant Postgres connection pooler.

2.2k stars
112 forks
active
GitHub +9 / week

2.2k

Stars

112

Forks

44

Open issues

29

Contributors

v2.9.10 02 Jul 2026

AI Analysis

Supavisor is a cloud-native, multi-tenant Postgres connection pooler written in Elixir that proxies millions of client connections into managed Postgres database pools. It is purpose-built for cloud environments requiring zero-downtime scaling, serverless workload support, and efficient resource utilization—serving infrastructure teams and platform operators at scale, not general-purpose application developers.

DevOps Infrastructure Discovery value: 6/10
Documentation 8/10
Activity 9/10
Community 8/10
Code quality 8/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

connection-pooling postgres-proxy cloud-native elixir-erlang multi-tenant
Actively maintained Well documented Niche/specialized use case Production ready
Deep Analysis · Based on README and public signals
1w ago

Elixir-native Postgres pooler designed for cloud-scale multi-tenant environments, not a PgBouncer replacement.

Supavisor is a cloud-native Postgres connection pooler written in Elixir, built by Supabase to handle millions of connections across multi-tenant deployments. It targets serverless-era connection patterns and aims to decouple pooling from database instance resources. Adoption appears limited to Supabase's own infrastructure and early adopters; real-world production deployments outside Supabase are not well-documented.

Origin

Created January 2023 as part of Supabase's infrastructure evolution. Designed to solve specific scaling problems Supabase encountered: zero-downtime Postgres resizing, absorption of millions of short-lived serverless connections, and multi-tenant isolation. Represents a deliberate architectural choice to move pooling outside the database instance.

Growth

Gained 2,227 stars over ~3.5 years—modest growth relative to other Supabase projects. Last 7 days show 12 stars gained; last push was June 26, 2026 (7 days ago from analysis date), indicating active recent work. Growth pattern suggests stable internal use at Supabase with slow but steady external interest rather than viral adoption.

In production

Adoption not verified outside Supabase infrastructure. README and public signals do not document adoption by known third parties or public case studies. Supabase likely runs Supavisor internally for its managed Postgres offering, but this is inferred from architecture, not explicitly stated. No prominent production deployments mentioned in discoverable documentation.

Code analysis
Architecture

Appears to be a clustered, distributed architecture where tenant connection pools are dynamically created on cluster nodes and registered in-memory across the cluster. Based on README: uses external Postgres for tenant config storage, monitors pool processes per node, handles failover by redistributing pools to remaining nodes. Designed for multi-node deployments in cloud environments (VPC, multi-AZ). Likely supports transaction-mode pooling per README; session pooling listed as future work.

Tests

Not documented in README. Coverage badge visible in README suggesting CI/CD integration, but coverage percentage not stated.

Maintenance

Last push June 26, 2026 indicates active maintenance as of analysis date. Repository created January 2023; ~3.5 years of continuous existence. Metadata shows 110 forks and ongoing development. Appears to be regularly maintained rather than stagnant, though growth rate is gradual. No evidence of abandonment.

Honest verdict

ADOPT IF: you operate a managed Postgres platform or need multi-tenant connection pooling at cloud scale (millions of connections, multi-node resilience required), have capacity to run a dedicated pooler cluster, and accept the operational burden of distributed systems. AVOID IF: you need a simple, single-node drop-in replacement for PgBouncer, prefer battle-tested tools with 15+ years of production history, or lack experience with Elixir and distributed clustering. MONITOR IF: you are building a Postgres-as-a-service platform, facing connection exhaustion from serverless workloads, or considering alternative architectures to co-located pooling—Supavisor represents a legitimate design choice but adoption and ecosystem maturity remain early.

Independent dimensions

Mainstream potential

3/10

Technical importance

7/10

Adoption evidence

2/10

Risks
  • Adoption not verified: real-world production usage outside Supabase is undocumented; risk of being primarily internal infrastructure without a vibrant external user base.
  • Operational complexity: requires running a multi-node cluster with distributed state management; higher operational bar than PgBouncer or single-node poolers.
  • Language choice (Elixir): narrows pool of operators and contributors familiar with language; fewer DevOps engineers trained on Elixir deployment vs. C (PgBouncer) or Rust (pgcat).
  • Early-stage features: several key features listed in 'Future Work' (load balancing, query caching, session pooling, HA management) remain unimplemented; uncertain when/if they ship.
  • Limited external documentation and case studies: no public benchmarks vs. competitors, no detailed operational runbooks from production users outside Supabase; makes it harder to assess real-world performance and tradeoffs.
Prediction

Supavisor will likely remain a specialized tool for cloud-native, managed Postgres platforms rather than become a universal PgBouncer alternative. It may see adoption among other managed database services or large-scale serverless environments, but mainstream adoption appears unlikely due to operational complexity and lack of broad ecosystem push. Continued maintenance by Supabase is probable; growth will remain modest.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

Elixir
90%
JavaScript
6.8%
Shell
1.4%
Python
0.6%
Nix
0.5%
Makefile
0.4%
Dockerfile
0.3%
Ruby
0.1%

Information

Language
Elixir
License
Apache-2.0
Last updated
14h ago
Created
42mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

supabase

supabase/supabase

Supabase is an open-source Firebase alternative built on top of PostgreSQL,...

106.1k TypeScript Dev Tools
supabase

supabase/storage

Supabase Storage is an S3-compatible object storage service that uses Postgres...

1.3k TypeScript DevOps
supabase

supabase/supabase-js

Supabase-js is the official JavaScript SDK for Supabase, an open-source...

4.5k TypeScript Web Dev
supabase

supabase/realtime

Supabase Realtime is an Elixir/Phoenix server that enables real-time...

7.6k Elixir Dev Tools
supabase

supabase/supabase-swift

A Swift SDK for Supabase that provides iOS, macOS, and other Apple platform...

1.3k Swift Mobile
vs. alternatives
PgBouncer

Supavisor explicitly targets scenarios where PgBouncer has limitations: cloud-scale (millions of connections), multi-tenant isolation, zero-downtime resizing, and separation of pooling from database instance resources. PgBouncer is single-node, resource-constrained when co-located with database, and not designed for serverless patterns. Supavisor trades single-node simplicity for cluster complexity.

pgcat

pgcat (also Rust-based, high-performance pooler) solves similar single/multi-tenant pooling problems but appears more focused on performance-per-node rather than cluster-scale multi-tenancy and distributed failover.

Citus coordinator

Citus handles distributed Postgres but is primarily a data distribution layer, not a pure connection pooler; targets different use case (sharding vs. connection management).

HAProxy + pgbouncer

Some organizations layer HAProxy for load balancing in front of PgBouncer clusters; Supavisor attempts to solve this in a single, coordinated system but requires operational complexity of a distributed cluster.

Neon compute proxy (implicit/not stated)

Other managed Postgres platforms likely have similar pooling infrastructure; Supavisor appears designed for Supabase's specific architecture and may not be easily portable to other cloud contexts.