在哪里定义 Postgres 中的最大连接数?
Where to define the maximum number of connections in Postgres?
我想在多租户环境中限制每个数据库的用户数。但是有三个级别的最大连接数,我应该感谢任何建议。
1 级整个服务器
通过编辑 Postgresql 的配置,我可以为服务器上的所有数据库设置最大连接数
postgresql.conf = max_connections = 100
每个数据库 2 级
我可以 select 并设置每个数据库的数据库连接限制:
SELECT datconnlimit FROM pg_database
每个角色 3 级
我可以 select 并根据 "user" 设置角色连接限制:
SELECT rolconnlimit FROM pg_roles
我的问题是
如果postgresql.conf中的max_connections是100,会不会是所有数据库的最大连接数,不管数据库和角色设置?例如100个数据库只能同时有1个连接?
限制最大连接数的最佳位置在哪里。在数据库级别还是在角色级别?
还有什么要考虑的吗?
任何建议或线索的 TIA!
max_connections
减去 superuser_reserved_connections
是集群中所有非超级用户连接到所有数据库的总和的最大值。
如果你想限制每个数据库的用户数量,对数据库设置限制似乎是显而易见的选择,对吧?
如果您最终将 max_connections
设置为较高的值,请考虑改用连接池。
我想在多租户环境中限制每个数据库的用户数。但是有三个级别的最大连接数,我应该感谢任何建议。
1 级整个服务器
通过编辑 Postgresql 的配置,我可以为服务器上的所有数据库设置最大连接数
postgresql.conf = max_connections = 100
每个数据库 2 级
我可以 select 并设置每个数据库的数据库连接限制:
SELECT datconnlimit FROM pg_database
每个角色 3 级
我可以 select 并根据 "user" 设置角色连接限制:
SELECT rolconnlimit FROM pg_roles
我的问题是
如果postgresql.conf中的max_connections是100,会不会是所有数据库的最大连接数,不管数据库和角色设置?例如100个数据库只能同时有1个连接?
限制最大连接数的最佳位置在哪里。在数据库级别还是在角色级别?
还有什么要考虑的吗?
任何建议或线索的 TIA!
max_connections
减去superuser_reserved_connections
是集群中所有非超级用户连接到所有数据库的总和的最大值。如果你想限制每个数据库的用户数量,对数据库设置限制似乎是显而易见的选择,对吧?
如果您最终将
max_connections
设置为较高的值,请考虑改用连接池。