Odyssey is a scalable PostgreSQL connection pooler that handles client-to-server request routing with multi-threaded processing.
The tool addresses the challenge of efficiently managing large numbers of PostgreSQL client connections by pooling and reusing server connections. It uses a multi-threaded architecture where worker threads handle authentication and proxy requests between clients and servers, with all threads sharing global connection pools. The pooler tracks transaction state and can automatically cancel connections and roll back abandoned transactions when clients disconnect unexpectedly, allowing server connections to be safely returned to the pool for reuse.
Odyssey suits production deployments that need to handle high connection volumes and benefit from multi-threaded performance scaling, particularly where SSL/TLS overhead is a concern. The tool allows fine-grained control by defining separate connection pools per database and user combination, each with independent authentication methods, pooling modes, and limits. It supports multiple authentication approaches including SSL/TLS, md5, clear text, PAM, and LDAP, with optional per-pool user blocking. The pooler generates universally unique identifiers for all connections to enable detailed logging and request tracing. Currently the tool runs only on Linux on x86 and x86_64 platforms.
Development activity shows consistent attention to code quality and production readiness. The project maintains active engagement with users through community channels for discussing usage and development. Build requirements include standard tooling with flex and bison needed at build time for the configuration parser. The codebase is written in C and demonstrates focus on performance-critical connection handling and protocol proxying.