我的本地网络中有一个postgresql服务器,它负责内部ERP,电子商务和其他一些工具的内部数据库。尽管如此,我还是不断向现有表添加新行,并且由于我通过网络执行了此操作,因此该流程不仅速度慢,而且还在高峰时段加载服务器。 我正在考虑插入另一台服务器上的postgresql,并与这个实例一起工作,但我想要某种复制 - 我在第二个实例上添加或修改的所有新数据,我想与'main'服务器实例同步,并且反之亦然。 我从来没有这样做过,任何信息都会有所帮助。本地网络中的Postgresql服务器复制
0
A
回答
0
通过多主复制来做到这一点是寻找问题的一种解决方案。优化当前的方法要比在当前的方法之上增加另一组复杂的问题(多主复制)要好得多。
如果你真的想用这种方式来玩多主复制,bucardo是使用的工具。然而,这个答案的其余部分将寻找替代品。
您真正想要做的第一件事就是优化您的批量加载。做到这一点的最佳方式是确保您的整个批量加载作为单个事务运行。这可以减少磁盘命中,并确保所有行同时可见。如果您正在执行大量的插入和更新操作,则可能需要先将所有内容加载到临时表中,然后运行一个查询,以便从临时表中更新您的数据库。在Pg 9.2中,您可以将临时表设置为不记录,这也会给您带来一些性能方面的好处(因为数据是暂时的,WAL不会为您购买任何东西)。
在您验证批量加载完成后,您应该做的第二件事是以一种理智的方式完成,即仔细分析一切。瓶颈并不总是你认为它们的地方,有时问题可能是触发器行为不端到缺少索引的一切。但请注意那时性能问题实际上是什么。您可能会发现它们很容易修复。
相关问题
- 1. 从本地网络复制elasticsearch索引到生产服务器
- 2. CURL - 本地与网络服务器
- 3. 从本地网络访问服务器
- 4. $ _SERVER [DOCUMENT_ROOT]本地Apache网络服务器
- 5. 使用android作为本地网络上的网络服务器
- 6. 本地网络中的WCF服务
- 7. 如何从另一本地网络服务器访问本地网络服务器的数据库
- 8. 通过网络访问本地网络服务器
- 9. 在本地网络中复制文件
- 10. 本地网络上可用的本地数据库服务器?
- 11. 本地网络中的android模拟器访问服务器
- 12. 复制CentOS的服务器本地测试服务器
- 13. 本地消费的网络服务
- 14. 从网络服务器复制目录到映射的网络驱动器
- 15. 启用本地网络访问WAMP服务器上的网站
- 16. 在我的网络中访问本地MySQL服务器
- 17. 仅在本地网络中可见的Qt SSL服务器
- 18. 访问本地网络中的R studio服务器
- 19. 从远程服务器复制到本地服务器
- 20. 没有服务器的本地网络上的版本控制系统
- 21. 将csv文件导入/复制到PostgreSQL中|文件不在本地服务器
- 22. 网络服务器上的Python脚本
- 23. 在本地网络中使用Visual Studio Web服务器
- 24. 无法从本地网络内连接到我的网络服务器
- 25. 本地网络摄像头网络服务器的HTML href链接
- 26. 使用Windows cmd.exe从FTP服务器复制到网络服务器
- 27. 通过网络路由器访问本地服务器
- 28. 将AWS RDS Postgresql复制到本地Postgresql
- 29. NowJs服务器到网络服务器
- 30. 使用codeigniter从本地服务器上传文件到网络服务器
如何处理PostgreSQL手册的第25章和Gregory Smith的“PostgreSQL 9.0高性能”第14章。 – LisMorski 2012-07-25 07:11:10