有没有办法通过数据库或模式配置 PostgreSQL 服务器实例来限制资源,例如 work_mem 或 max_parallel_workers?(甚至限制特定用户)
据我所知,postgresql.conf 中的参数会影响整个 postmaster 实例。
这个问题的背景是基于数据库模式和资源隔离的多租户。
有没有办法通过数据库或模式配置 PostgreSQL 服务器实例来限制资源,例如 work_mem 或 max_parallel_workers?(甚至限制特定用户)
据我所知,postgresql.conf 中的参数会影响整个 postmaster 实例。
这个问题的背景是基于数据库模式和资源隔离的多租户。
您可以在数据库或用户级别上设置许多参数
也可以在该级别上设置连接限制。
但是很多东西对于集群来说是全局的(比如
shared_buffers
),而且很多资源(比如 CPU 和 I/O)根本无法被限制。我附和马的评论看看
pg_cgroups
,但我要提一下我是作者。虽然这在数据库或用户级别上不起作用,但是如果您想分离数据库,无论如何将它们放在不同的集群中总是值得称赞的。