cla*_*lay 5 postgresql sqlalchemy
以下statement_timeout选项可在某些Postgresql数据库上使用,而在其他数据库上则可使用Unsupported startup parameter: options。为什么?
这可能是Postgres 9.4和9.6之间的区别吗?这适用于前者的服务器,而不适用于后者。
from sqlalchemy import create_engine
# As is: Unsupported startup parameter: options
db_engine = create_engine("postgresql://user:pw@host/database",
connect_args={"options": "-c statement_timeout=1000"})
with db_engine.connect() as db_connection:
print("got it")
Run Code Online (Sandbox Code Playgroud)
具体来说,我得到:
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) ERROR: Unsupported startup parameter: options
Run Code Online (Sandbox Code Playgroud)
您可能已通过 PgBouncer 连接到这些数据库。
如果是这样,请添加ignore_startup_parameters = options到该部分下的 pgbouncer.ini [pgbouncer]。
来自https://www.pgbouncer.org/config.html#ignore_startup_parameters:
默认情况下,PgBouncer 仅允许它在启动数据包中跟踪的参数:
client_encoding、datestyle和。所有其他参数都会引发错误。要允许其他参数,可以在此处指定它们,以便 PgBouncer 知道它们是由管理员处理的,并且可以忽略它们。timezonestandard_conforming_strings默认值:空
参考:
| 归档时间: |
|
| 查看次数: |
724 次 |
| 最近记录: |