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