PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

como corrigir OperationalError:(psycopg2.OperationalError) servidor fechou a conexão inesperadamente


Mesma lógica para sqlalchemy.orm, (no qual o flask_sqlalchemy é baseado btw)
engine = sqlalchemy.create_engine(connection_string, pool_pre_ping=True)

Mais estratégias de proteção podem ser configuradas, conforme descrito no documento:https://docs.sqlalchemy.org/en/13/core/pooling.html#disconnect-handling-pessimistic

Por exemplo, aqui está minha instanciação de mecanismo:
engine = sqlalchemy.create_engine(connection_string,
                                      pool_size=10,
                                      max_overflow=2,
                                      pool_recycle=300,
                                      pool_pre_ping=True,
                                      pool_use_lifo=True)

sqlalchemy.orm.sessionmaker(bind=engine, query_cls=RetryingQuery)

Para o código RetryingQuery, cf:Repetir consultas sqlalchemy com falha