Использование Postgres со схемой для каждого клиента. Для изоляции и безопасности. Другой пользователь для каждой схемы для ограничения доступа. Ищите способ эффективного объединения подключений по схемам.
Попытка использовать пул подключений на уровне приложений ( Hikari ), но я не вижу возможности эффективно объединять пулы между схемами. , Не хотите выходить за пределы количества соединений Postgress растущим числом соединений на схему / пользователя. И вообще это не кажется наиболее эффективным способом объединения соединений, если они растут как фактор схем.
Также пробовал pgbouncer , но не уверен, как его эффективно настроить для этой цели. Пытался использовать Hikari на стороне приложения для каждого клиента и pgbouncer, чтобы сопоставить их с меньшим количеством postgres соединений. В режиме сеанса pgbouncer, кажется, просто действует как прокси, и число соединений растет в соответствии с каждым соединением из Hikari. В режиме транзакции pgbouncer и Hikari как-то выходят из строя c, и я получаю сообщения об ошибках протокола от Postgres.
Эта проблема, похоже, очень похожа на этот вопрос из несколько лет назад К сожалению, я не вижу четкого ответа на вопрос о том, как эффективно управлять этим типом пула соединений.
Таким образом, потенциально имея довольно много схем, в зависимости от клиента, вопрос заключается в том, как правильно сделать пул соединений для Postgres при использовании нескольких схем и пользователей?