将 postgres 服务器扩展到多个服务器

Posted

技术标签:

【中文标题】将 postgres 服务器扩展到多个服务器【英文标题】:Scaling a postgres server to multiple servers 【发布时间】:2010-10-08 21:56:13 【问题描述】:

我们的 postgres 服务器即将达到其容量,我们正在考虑添加第二个数据库服务器。有没有特别适合 postgres 设置的扩展解决方案?

【问题讨论】:

你也可以看看here。 【参考方案1】:

您正在寻找一组有限的选择,很大程度上取决于您的具体要求(读写比率以及您的应用程序对偶尔不一致读取的容忍度[同步与异步复制?主从与非同步复制?多主?],您的表的连接强度如何[集群]等)

http://www.postgresql.org/download/products/3 http://pgpool.projects.postgresql.org/ http://www.slony.info/

更新

距离最初的答案已经过去了六年多。 请参阅 PostgreSQL 文档中的High Availability, Load Balancing, and Replication chapter,了解可供您使用的最新解决方案。

【讨论】:

现在不用我写答案了……你说得很好。【参考方案2】:

您是否检查过您的瓶颈是什么?哪些查询使您的服务器努力工作?也许它可以调整得更好。

如果调整没有帮助,升级服务器通常比设置复制容易得多。在 RAID1 或 RAID10 中添加一些磁盘,添加一些 RAM,更多内核和更快的处理器。具有电池后备缓存的良好 RAID 控制器也会产生很大的不同。

复制 ID 有利于高可用性,但如果您遇到性能问题,通常更大的服务器会更具成本效益。

【讨论】:

【参考方案3】:

Postgres Advanced Server 和 Continuent Tungsten 也值得研究企业级解决方案。

【讨论】:

以上是关于将 postgres 服务器扩展到多个服务器的主要内容,如果未能解决你的问题,请参考以下文章

使用集群将 Socket.IO 扩展到多个 Node.js 进程时的一些问题

如何在单个 Postgres 服务器中将 Embedded Debezium 用于多个数据库?

如何从公共服务器 postgres 数据库将数据源加载到网关?

如何将数据从 postgres 数据库导入到 android sqlite

TCP 代理到 postgres 数据库作为 nginx 中的上游服务器

Postgres:更新所有表的主键序列