gpt4 book ai didi

python - 如何在与 SQLAlchemy 和 psycopg2 的 PostgreSQL 连接上设置 `lock_timeout`?

转载 作者:行者123 更新时间:2023-12-05 01:36:59 24 4
gpt4 key购买 nike

使用 PostgreSQL,您可以运行此查询来为 session 设置特定的 lock_timeout:

SET lock_timeout TO '3s'

我想知道在设置与 SQLAlchemy 的连接时是否有设置此选项的好方法。我实例化 SQLAlchemy session 的方式如下:

engine = create_engine('postgresql+psycopg2://{user}:{pswd}@{host}:{port}/{name}')
session = scoped_session(sessionmaker(bind=engine))

我试过在 connect_args 中传递它,但不支持:

engine = create_engine(
'postgresql+psycopg2://{user}:{pswd}@{host}:{port}/{name}',
connect_args={'lock_timeout': 3}
)

有没有办法使用 SQLAlchemy 和 psycopg2 为每个 session /连接设置此选项?

最佳答案

事实证明,这是为 session 设置 lock_timeout 的正确方法(注意该值以毫秒为单位):

engine = create_engine(
'postgresql+psycopg2://{user}:{pswd}@{host}:{port}/{name}',
connect_args={'options': '-c lock_timeout=3000'}
)

关于python - 如何在与 SQLAlchemy 和 psycopg2 的 PostgreSQL 连接上设置 `lock_timeout`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61527298/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com