4

我想限制多租户环境中每个数据库的用户数。但是有三个级别的最大连接数,如果有任何建议,我将不胜感激。

1 级整个服务器

通过编辑 Postgresql 的配置,我可以为服务器上的所有数据库设置最大连接

postgresql.conf = max_connections = 100

级别 2 每个数据库

我可以选择并设置每个数据库的数据库连接限制:

SELECT datconnlimit FROM pg_database

3 级 每个角色

我可以选择并设置每个“用户”的角色连接限制:

SELECT rolconnlimit FROM pg_roles

我的问题是

  1. 如果 postgresql.conf 中的 max_connections 为 100,是否是所有数据库的最大连接数,而不考虑数据库和角色设置?例如,100 个数据库只能同时有 1 个连接?

  2. 限制最大连接数的最佳位置在哪里。在数据库级别还是在角色级别?

  3. 还有什么要考虑的吗?

TIA 提供任何建议或线索!

4

1 回答 1

4
  1. max_connections减号superuser_reserved_connections是集群中所有数据库的所有非超级用户连接的总和的最大值。

  2. 如果你想限制每个数据库的用户数,设置数据库的限制似乎是显而易见的选择,对吧?

  3. 如果您最终设置max_connections为较高的值,请考虑改用连接池。

于 2016-08-22T18:43:55.907 回答