2015-08-27 4 views
1

Для обеспечения безопасности нашей базы данных мы создаем схему для каждого нового клиента. Затем мы создаем пользователя для этой схемы, и когда клиент регистрируется через Интернет, мы используем его пользователя и, следовательно, не позволяем им получить доступ к другим областям базы данных.Объединение пулов соединений Postgres - несколько пользователей

Наша проблема связана с пулом соединений, так как это немного неэффективно для создания/удаления новых подключений для этих пользователей. Мы хотели бы иметь решение, которое может работать со многими сотнями пользователей базы данных.

Мы рассмотрели pg_bouncer, но проблема здесь в том, что мы должны создать текстовую запись в ini-файле для каждого пользователя и перезапустить pg_bouncer каждый раз, когда мы настраиваем клиента. Это не отличное решение.

Есть ли альтернативное решение, которое работает в режиме реального времени и будет означать, что подключение/подключение клиентов будет оставаться в пуле, пока они активны?

+0

pg_bouncer требует перезагрузки, а не перезагрузки. –

ответ

0

Согласно последним выпускам pgbouncer might actually do this. Но я не пробовал.

Режим объединения может быть настроен как для каждой базы данных, так и для каждого пользователя.

Что касается использования в общем. Некоторое время назад у нас был такой вопрос. Мы просто пошли с пулом соединений с одним пользователем/базой данных и несколькими схемами. Перед запуском psql-запроса мы просто использовали SET search_path TO schemaName. Что касается ведения журнала, у нас был режим соответствия, когда мы могли регистрировать активность для каждого клиента и сохранять его в соответствующей схеме.

Смежные вопросы