PostgreSQL 有很多表

PostgreSQL 有很多表

我们的 PostgreSQL 数据库服务器中已经有超过一千张表了。我记得曾经读到过,一旦数据库达到一千张以上的表,就有一种方法可以加快数据库的速度,但我似乎无法在 Google 的网络上找到任何关于此内容的提及。任何帮助都很好。

谢谢

答案1

我不记得表数大于 1000 的具体内容,但您可能一直在考虑使用表空间将数据库对象/表分布在不同的卷上以提高性能?(例如,在不同的卷上写入较多的表与读取较多的表,或将不同组使用较多的表拆分到不同通道上的卷上)

此处介绍表空间在 postgres 文档中。

话虽如此,除非您需要解决特定的性能问题,否则我不会随意做出更改......

答案2

PostgreSQL 创建一个文件系统中每个表的文件; 根据您的底层文件系统,当任何进程(包括 PostgreSQL)读取目录元数据时,您最终会遇到性能问题。为了缓解这种情况,您需要创建许多不同的表空间并将不同的表放在不同的表空间中,以防止同一目录中有数千个文件。

阅读以下文章可能会有所帮助创建表空间修改表命令将表移动到给定的表空间。

答案3

您可能特别提到了有关在有大量表时调整 max_fsm_relations 的建议。但该要求已在 8.4 中被删除,并且现在会自动为您调整。

相关内容