繁体   English   中英

Pony orm 连接池

[英]Pony orm connection pooling

将 python pony orm 与 postgres(aws rds) 一起使用......使用它来执行原始 sql......所以我围绕 pony 类创建了一个包装类来初始化数据库对象

self.db = Database()
self.db.bind(provider="postgres", user=self.username, password=self.password,
                host=self.hostname, database=self.database)

每次调用一个方法来执行原始 sql 查询(下一行)时,都会建立一个新的连接。 连接池什么时候开始

self.db.execute(query, query_args)

或者有没有办法设置连接池参数。

根据 pony orm 文档

连接池 无需跟踪数据库连接。 您在需要时拥有连接,当您完成交易时,连接将返回到池中。

但我看到每次进行选择调用时总是打开连接。 例如:5 个调用导致 5 个连接。 我怎样才能设置最大。 连接数?

正如 PonnyORM 的文档所说:

...
绑定(提供者,*args,**kwargs)
bind (*args, **kwargs) 将实体绑定到数据库。

参数: provider (str) – 数据库提供者的名称。 数据库提供程序是一个位于 pony.orm.dbproviders 包中的模块。 它知道如何使用特定的数据库。 在数据库提供程序名称之后,您应该指定将传递给相应 DBAPI 驱动程序的 connect() 方法的参数。 Pony 带有以下提供程序:“sqlite”、“postgres”、“mysql”、“oracle”、“cockroachdb”。 此参数也可以用作关键字参数。

args数据库驱动程序所需的参数。
kwargs数据库驱动程序所需的参数。 ...

如果您使用 Psycopg,您可以查看此文档以在数据库设置中使用更多参数。 我不确定的是 PonyORM 是否在其库中考虑了这个包的所有选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM