Postgres对象规模达300万:是否需紧急管控及后续风险咨询
Postgres大对象数量规模的影响咨询
当前数据库对象规模现状
我们的Postgres数据库目前约有300万个对象,其中200万左右是索引,50万是表及分区,另外50万是TOAST表。每年因新增表分区及其索引等,对象数量约增长100万个。我认为300万个对象处于理论限制范围内,但明显超出常规使用水平。
当前已出现的非致命问题
- 空表或不存在的表执行
VACUUM耗时超3秒 - 大量防回卷Vacuum操作
- 部分系统表查询耗时久,导致DBeaver等工具偶发崩溃
- 数据库连接因缓存大量对象/分区的直方图等数据占用更多内存
- 升级Postgres版本时需额外操作,比如删除大量索引后重建,才能保证升级时效
已完成的测试
我已在本地环境测试过对象数量达500万的场景。
核心咨询问题
- 是否需要紧急采取措施稳定对象数量?目前我认为暂无迫切需求,Postgres除上述小问题外可正常应对这些分区,但想了解当对象数量达到以下规模时,是否会遭遇重大问题:
- 500万
- 600万
- 700万
- 1000万
- 2000万
- 5000万
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

