Psycopg2连接PostgreSQL:是否支持多主机端口实现主备故障转移?
Psycopg2连接PostgreSQL多主机配置与故障转移支持
可以在Psycopg2的PostgreSQL连接字符串中指定多个主机和端口,满足主备架构的故障转移需求。
具体配置方式
- 直接在连接字符串的主机段用逗号分隔多个主机(带端口时格式为
host:port),示例:postgresql+psycopg2://<username>:<password>@host1.domain.name:5432,host2.domain.name:5433/database - 若主机使用PostgreSQL默认端口(5432),可省略端口部分,示例:
postgresql+psycopg2://<username>:<password>@host1.domain.name,host2.domain.name:5433/database
故障转移相关说明
- Psycopg2会按照连接字符串中主机的顺序依次尝试建立连接,直到成功连接到某一节点。
- 默认情况下,连接断开后不会自动切换到其他主机,需要在应用层实现重连逻辑,或结合
psycopg2.pool连接池配合自定义故障转移处理。 - 可通过
options参数指定target_session_attrs控制连接偏好,比如设置为read-write会优先连接可写的主节点,示例:postgresql+psycopg2://<username>:<password>@host1,host2/database?options=-c%20target_session_attrs=read-write
内容的提问来源于stack exchange,提问作者ha9u63a7
相关产品推荐
相关产品推荐

