Python自动重连两个不同的postgre数据库
时间: 2023-12-02 15:06:14 浏览: 126
可以使用Python中的psycopg2库来连接postgre数据库,并使用以下代码实现自动重连:
```
import psycopg2
from psycopg2 import OperationalError
# 设置数据库连接参数
db_params = {
"host": "your_host",
"port": "your_port",
"database": "your_database",
"user": "your_user",
"password": "your_password"
}
# 连接数据库
def connect(db_params):
conn = psycopg2.connect(**db_params)
print("Database connected successfully!")
return conn
# 查询数据
def query(conn, query):
cursor = conn.cursor()
cursor.execute(query)
result = cursor.fetchall()
cursor.close()
return result
# 自动重连
def auto_reconnect(db_params):
while True:
try:
conn = connect(db_params)
print("Database reconnected successfully!")
break
except OperationalError:
continue
return conn
# 使用自动重连功能查询数据
def query_with_auto_reconnect(conn, query):
try:
result = query(conn, query)
except OperationalError:
conn = auto_reconnect(db_params)
result = query(conn, query)
return result
```
以上代码实现了自动重连功能,当连接数据库时出现OperationalError错误时,会尝试自动重新连接。可以使用query_with_auto_reconnect函数查询数据,该函数会自动处理连接异常并进行重连。
阅读全文