Хабр Курсы для бэкендеров
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!

К разделу про PgBouncer есть уточнение по версиям: с 1.21 он поддерживает именованные prepared statements в transaction pooling при max_prepared_statements > 0. Если следующая транзакция попала на другой backend, PgBouncer сам подготовит там запрос перед выполнением. С 1.24 значение по умолчанию — 200, поэтому prepareThreshold=0 уже не обязательное условие для такого режима. Перед отключением подготовки запросов стоит проверить версию и фактическое значение max_prepared_statements. Ограничение: это поддержка на уровне протокола; SQL-команды PREPARE/EXECUTE она не покрывает. Описание механизма: https://www.pgbouncer.org/config.html#max_prepared_statements
HikariCP в проде: три раза, когда пул соединений уронил сервис, и почему maximumPoolSize тут был ни при чём