Можно ли ограничить количество подключений в postgres, используя IP-адрес машины, поскольку я не могу найти, какой IP-адрес помечен какому пользователю/роли.
ограничить количество подключений в postgres с помощью IP-адреса
comment
Вы можете ограничить количество подключений, установив параметр max_connections = 100 в файле конфигурации. Вы также можете использовать что-то вроде pg_pool для ограничения входящих подключений. pgpool.net/docs/pgpool-II- 3.5.4/doc/pgpool-ru.html
- person VynlJunkie   schedule 12.09.2017
Ответы (1)
неявно вы можете сделать это с помощью pgbouncer - по крайней мере версия 1.7 поддерживает файл hba, поэтому вы можете связать db+user+ip и установить ограничение для db+user в ini-файле. Таким образом, ограничение подключений к IP или сети.
явно вы можете попробовать использовать HAProxy или просто IPTABLES
(я думаю, что это предпочтительнее)
наконец, вы можете написать какую-нибудь обезьянью работу, которая будет проверять количество подключений от pg_stat_activity.client_addr
и select pg_terminate_backend(pid) from pg_stat_activity where client_addr = 'x.x.x.x' order by query_started desc limit 10
(чтобы сохранить первые 10 подключений), но я бы сказал, что это ужасное колесо для такой задачи.
person
Vao Tsun
schedule
13.09.2017