We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
PgBouncer: Present and Future: Euler Taveira - PGCon 2023
PgBouncer: powering PostgreSQL with connection pooling, authentication, and reconfiguration options, from simple design to scalable codebase growth, and innovative features like peering and peptide.
Key Takeaways
- PgBouncer is a connection pooler for PostgreSQL, designed for simplicity and lightness.
- It offers several features, including section pooling, transaction pooling, and statement pooling.
-
The
show state
command provides global state information for PgBouncer. - Options for authentication include MD5, scram, certificates, trust, PAM, and HBA.
-
The
peptide
feature helps with canceling requests in cases of multiple instances. - The project is hosted on GitHub, with bug tracking and answers to questions.
- There are 48 releases along the years, with two or three releases per year.
-
The main configuration file is
PgBouncer.ini
with 87 parameters. - The project has grown four times since its initial version in 2007.
- The average number of lines of code has grown significantly, from 6,000 to 24,000.
- The project is designed to be simple, with a low memory footprint for each connection.
- Online reconfiguration is possible.
- Authentication plays an important role, especially in connection pooling.
-
The
kill
command can be used to immediately close client and server connections. -
Several other commands, such as
pause
andsuspend
, are available for specific scenarios. -
A new feature,
peering
, helps with canceling requests in cases of multiple instances. - The project is open for suggestions and ideas.
- Minimal pull size, minimal number of connections, and query wait timeout are available options.
-
The
ignore start up
parameters option is available for certain situations.