我试图了解单个 Postgres 数据库的分区数量存在的任何限制(无论是精确的还是实际的),以及当您接近这些限制时出现的任何性能问题。为此,请回答以下相关问题:
一个数据库最多可以容纳多少个分区?
如果我计划在我的数据库中拥有超过 10,000 个分区,有什么我应该关心的吗?
是否有任何数量的分区仅仅因为分区数量过多而引起问题?如果有,大约有多少个分区会出现这些问题?
1,431,650,303
。这是 PostgreSQL 可以保存的关系数量的限制,但是您需要减去内置的关系。不过,大约有 14 亿。您可以使用简单的 PL/pgSQL 循环在几秒钟内生成 10'000 个分区,然后单个 generate_series()
可以在几秒钟内填充所有分区。之后用
pgbench
进行压力测试,看看其表现是否令人满意。