登录
首页 >  Golang >  Go问答

已恢复的主机是否可以使用 PostgreSQL libpq 的多主机连接字符串进行连接?

来源:stackoverflow

时间:2024-02-09 09:18:25 384浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《已恢复的主机是否可以使用 PostgreSQL libpq 的多主机连接字符串进行连接?》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

问题内容

我有 2 个数据库主机:host1 和 host2。 我使用多主机连接字符串连接到数据库:postgresql://host1:port1,host2:port2/。根据 libpq 文档,连接是与给定列表中第一个成功的主机建立的。当两台主机都运行良好时,将建立与 host1 的连接,并且所有查询均由 host1 提供服务。当主机 1 关闭时,将建立与主机 2 的连接,并从主机 2 提供查询服务。现在,当主机 1 恢复并再次运行时,我希望再次与主机 1 建立连接,并且希望再次从主机 1 提供查询服务。但这并没有发生。

我使用golang的pgx库作为支持多主机连接字符串功能的驱动程序。是否有机制检查 host1 是否启动并在启动后与其建立连接?

编辑:更多上下文

host1 是只读副本数据库,host2 是读写主数据库。我有这个多连接字符串设置仅用于读取查询。我希望这些读取查询主要由只读数据库提供服务。所以我想将连接切换回host1。


正确答案


当它必须建立连接时,它将与列表中的第一个健康主机建立连接。在故障转移期间,与主机 1 的所有连接都丢失了,因此与主机 2 建立了新的连接。但只要主机 2 保持运行,这些连接仍然良好,因此不需要打开新连接(这会导致主持 1).您始终可以使主机 2 失败以强制断开所有这些连接。

到这里,我们也就讲完了《已恢复的主机是否可以使用 PostgreSQL libpq 的多主机连接字符串进行连接?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>