Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用pg promise的连接_Node.js_Postgresql_Heroku_Pg Promise - Fatal编程技术网

Node.js 使用pg promise的连接

Node.js 使用pg promise的连接,node.js,postgresql,heroku,pg-promise,Node.js,Postgresql,Heroku,Pg Promise,所以我使用pgpromise来查询我的数据库。因为我使用的是heroku postgres免费版,所以最大连接数是20 要连接到数据库,我使用 pgpprocess.env.DATABASE_URL+“?池大小=10” .连接 。然后sco=>{ dbclient=sco; } .catch err=>{ console.error; } 首先,不要使用任何方法。数据库对象可以自动管理连接。方法仅适用于某些非常特定的任务,例如,或to 您应该直接对db对象执行单个查询,并且应该在或内部执行查询

所以我使用pgpromise来查询我的数据库。因为我使用的是heroku postgres免费版,所以最大连接数是20

要连接到数据库,我使用

pgpprocess.env.DATABASE_URL+“?池大小=10” .连接 。然后sco=>{ dbclient=sco; } .catch err=>{ console.error;
} 首先,不要使用任何方法。数据库对象可以自动管理连接。方法仅适用于某些非常特定的任务,例如,或to

您应该直接对db对象执行单个查询,并且应该在或内部执行查询链。另见


您可以使用max通过连接参数更改默认池大小,如下所示:{max:20}。请参阅。

首先,不要使用任何方法。数据库对象可以自动管理连接。方法仅适用于某些非常特定的任务,例如,或to

您应该直接对db对象执行单个查询,并且应该在或内部执行查询链。另见


您可以使用max通过连接参数更改默认池大小,如下所示:{max:20}。请参阅。

感谢您花时间:好的,现在我像这样使用它,仍然有相同的问题:const pgp=require'pg-promise';pgp.pg.defaults.poolSize=10;const db=pgpprocess.env.DATABASE_URL;db.任何……那么。捕获…@只要询问池大小达到最大值时,库不会崩溃。如果你的应用程序崩溃,那一定是其他原因。试着调试,看看到底出了什么问题。您应该在这里发布错误堆栈;撞车不是问题。问题是,每次我在数据库中查询某个内容时,都会建立一个新的连接,并且连接数超出了我设置的池大小。我可能误解了池的工作原理,但我想在这里解决的问题是,到数据库的连接总是少于20个。如果您直接将它们分配到某个位置而从不释放,则连接将达到最大值。是否确实已删除对方法connect的所有调用?这是唯一可以解释的。我发现了这个错误!实际上,我把connect方法隐藏在中间件的某个地方。非常感谢您的时间,它现在工作得非常好谢谢您花时间:好的,现在我这样使用它,仍然有相同的问题:const pgp=require'pg-promise';pgp.pg.defaults.poolSize=10;const db=pgpprocess.env.DATABASE_URL;db.任何……那么。捕获…@只要询问池大小达到最大值时,库不会崩溃。如果你的应用程序崩溃,那一定是其他原因。试着调试,看看到底出了什么问题。您应该在这里发布错误堆栈;撞车不是问题。问题是,每次我在数据库中查询某个内容时,都会建立一个新的连接,并且连接数超出了我设置的池大小。我可能误解了池的工作原理,但我想在这里解决的问题是,到数据库的连接总是少于20个。如果您直接将它们分配到某个位置而从不释放,则连接将达到最大值。是否确实已删除对方法connect的所有调用?这是唯一可以解释的。我发现了这个错误!实际上,我把connect方法隐藏在中间件的某个地方。非常感谢您抽出时间,它现在运行得很好