Supabase Blog

Supavisor 1.0: a scalable connection pooler for Postgres

thumbnail
  • Supavisor 1.0 is a scalable connection pooler for Postgres, representing production readiness with bug fixes and three important features: query load balancing, named prepared statement support, and query cancelation.
  • Connection pooling is explained as a way to manage database connections efficiently, and Elixir is highlighted as a great fit for a connection pooler due to its built-in support for OTP (Open Telecom Platform).
  • SQL parsing with Rust is mentioned as a new implementation to support the latest features.
  • Load balancing is introduced as a feature that distributes read requests between the primary server and its replicas in a Postgres cluster.
  • Automatic primary detection ensures read-after-writes consistency by wrapping read and write operations in a transaction.
  • Supavisor now supports named prepared statements, allowing every client to access statements issued by other connections.
  • Default configurations for pool size, maximum connections, and maximum clients are updated for different database sizes.
  • IPv4 deprecation is mentioned, with AWS charging for all allocated IPv4 addresses from February 1, 2024.
  • Users of the Supabase platform can access the pooler URL in their database settings, while custom pooler configurations will remain unchanged.