node.js - 使用 postgressql 在 typeorm 中进行连接池
问题描述
我已经阅读了足够多的关于使用 typeorm 和 postgressql 设置连接池的文章和 typeorm 官方文档,但找不到解决方案。
到目前为止,我所看到的所有文章都解释了在 orm 配置或连接池中添加 max/Poolsize 属性,但这并不是在数据库中设置空闲连接池。
当我在应用程序引导后验证 pg_stat_activity 表时,我在数据库中看不到任何空闲连接,但是当向应用程序发送请求时,我可以看到与数据库的活动连接
在 orm 配置中的 extras 下定义的 max/poolSize 属性仅充当可以同时从应用程序打开到数据库的最大连接数。
我期望的是,在引导过程中,应用程序会打开与数据库的预定义数量的连接并将其保持在空闲状态。当请求进入应用程序时,空闲连接之一被拾取并提供服务。
谁能提供有关如何使用 typeorm 和 postgresql 定义此配置的见解?
解决方案
据我所知, TypeORM 使用内置 pg-pool 的node-postgres并且没有那种选项。它支持最大值,并且当您的应用程序需要更多连接时,它会创建它们,所以如果您想预热它,或者可能对其进行负载/压力测试,并查看那些额外的连接,您需要编写一些代码关闭一堆异步查询/插入。
我想我理解你在寻找什么,因为我曾经做过企业 Java,并且glassfish和 jboss 等连接池有更多选择,你可以在池中保留未使用的热连接。不过 TypeORM/node-postgres 中没有这样的选项。
推荐阅读
- mysql - 分组后如何将计数转换为布尔值
- java - 避免数组中的空值?
- azure-active-directory - 我可以在浏览器地址栏或 curl 中运行身份验证流程吗?
- python - Python 错误,局部变量可能在赋值之前被引用,变量在 if 条件之外
- python-3.x - OSError: [Errno 66] 重命名多个文件时目录不为空
- html - 如何在括号内进行复数和显示?
- android - 在 /data/app 重新安装系统应用程序不适用于 android Oreo(8.0)
- r - 在 R tmap 中,如何在交互模式下控制图层可见性?
- python - 将大型 Numpy 数组切片成单独的数组
- docker - 第一次在 docker 中运行时,Tensorflow 推理非常慢