Postgresql错误:连接已终止
Postgresql Error: connection terminated
我有一个链接到postgres数据库的简单应用程序。当您加载应用程序时,它会读取大约30行数据。但每隔一段时间它都不会加载,当我查看服务器时,我会出现错误错误:连接终止。
通常如果我在短时间内加载几次。
有人知道为什么会发生这种事吗?我工作太辛苦了吗?
代码如下:
function getDB(callback){
console.log('inside getDB')
Client.connect(function(err){
if(err){
return console.log('connection error', err)
}
Client.query('SELECT * FROM gallery', function(err, result){
if(err){
return console.log('error receiving data', err)
} else{
callback(null, result.rows)
}
Client.end()
})
})
}
在将行插入Postgres数据库的Node方法上,我遇到了相同的"错误:连接终止"错误。以下是我如何修复它。
控制台错误没有太大帮助,所以我查看了Postgres日志。(使用Mac)
$ tail -10 /usr/local/var/log/postgres.log
2019-02-24 10:06:38.920 CST [58520] LOG: could not receive data from client: Connection reset by peer
2019-02-24 10:06:38.921 CST [58520] LOG: unexpected EOF on client connection with an open transaction
这意味着客户端在服务器完成之前以某种方式断开了连接。在我的例子中,我没有正确地调用异步方法,所以客户端在数据库语句执行之前完成,并且客户端丢弃了数据库连接。我使用了async/await风格的Node方法,但我忘记用await调用我的异步方法,这导致了错误。
对于Node中的Postgres查询,请务必遵循以下示例之一。
看起来您正在使用node postgres。您应该考虑使用它的连接池。来自文件:
"通常情况下,您将通过客户。客户端需要花费大量的时间来建立新连接。客户端还消耗大量PostgreSQL服务器上的资源-不是你想在上面做的事情每个http请求。好消息:nodepostgres船内置客户端池。"
创建新连接时会发生很多事情,您应该尽可能避免这种情况。在你的情况下,利用资金池可能会有所帮助。
相关文章:
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 如何使用密码检测网络中的状态连接
- 如何处理node.js节点mongodb中的连接和查询队列
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- 当使用Watchify时,Browserify+Babelify Gulp任务没有终止
- Twilio-显示所有连接参与者的远程参与者视频
- 操作放置在画布上的元素之间的连接
- TypeError:_this.store.getState在使用来自Redux的连接时不是函数
- jQuery UI可排序-多连接列表拖动
- 如何使用offer/answer交换来自两个对等连接的流
- 在Qualtrics中,介绍如何动态连接两个滑块
- 使用优化器在慢速连接上加载main.js时需要js超时
- Postgresql错误:连接已终止
- 当套接字断开连接时终止msnodesql连接
- Strobhe.js和Openfire在页面重新加载时终止连接
- 使用 MongoDB 连接池的 NodeJS 一次性脚本 - 如何终止
- 在脚本运行之前终止与浏览器的连接
- 在回调中终止mongodb连接
- 为什么我的查询在pgAdming上工作,但当我从服务器执行它时,我得到一个查询错误(错误:连接终止)
- 观察传入HTTP请求的连接终止- Node.JS