Django的Postgres连接池。

django-postgrespool-lab的Python项目详细描述


这是django 1.4+的一个简单的postgres连接池后端,由可爱漂亮的sqlalchemy提供支持。

用法

使用django postgrespool很简单,只需将django_postgrespool设置为连接引擎即可:

DATABASES = {
    'default': {
        'ENGINE': 'django_postgrespool'

如果您使用的是dj-database-url模块:

import dj_database_url

DATABASES['default'] = dj_database_url.config()
DATABASES['default']['ENGINE'] = 'django_postgrespool'

如果您使用south

SOUTH_DATABASE_ADAPTERS = {
    'default': 'south.db.postgresql_psycopg2'
}

一切都应该按预期进行。

安装

安装django postgrespool很简单,pip:

$ pip install django-postgrespool

配置

或者,您可以提供其他选项以传递给sqlalchemy的池创建:

DATABASE_POOL_ARGS = {
    'max_overflow': 10,
    'pool_size': 5,
    'recycle': 300
}

以下是其中两个选项的基本说明:

  • 池大小–要在池中维护的最小连接数。
  • {STR 1 } $Max溢出/<强>最大池^ {EM1}$溢出:EEM >池的大小。这不是池的最大大小。

池将允许的“休眠”连接总数为pool_size。 池将允许的同时连接总数为pool_size + max_overflow

作为一个例子,Heroku Postgres启动层中的数据库的最大连接限制为20。在这种情况下,您的pool_sizemax_overflow组合在一起时不应超过20。

查看正式的SQLAlchemy Connection Pooling文档,了解有关DATABASE_POOL_ARGS中定义的option的更多信息。

django 1.3支持

django postgrespool目前支持django 1.4及更高版本。有关1.3支持,请参见this ticket

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用SerializationUtils时java ClassNotFoundException。克隆()   java Cucumber+spring:如何通过测试触发SmartLifecycle事件?   java如何使ProGuard以简单的方式工作?   java JSP页面显示来自集合的日期   谷歌地图检查坐标是否位于JAVA中谷歌地图API的多边形中   java如何在终端中使用“tokens”打印令牌?   java获取编译错误:包com。威里奥。sdk不存在   java会使用JAXB或类似工具自动填充HATEAOS链接吗?   Javascript(GraalJS)与Java中未签名的右移>>>>   如何在Java代码中创建jdbc请求的Jmeter测试   java如何在CellList中添加或删除单个元素?   java Progressbar:如何创建原始对象的深度副本