node.js、pg、postgresql 和插入查询(应用程序挂起)

2024-01-24

我有以下简单的节点应用程序用于将数据插入 postgres 数据库:

var pg = require('pg');
var dbUrl = 'tcp://user:psw@localhost:5432/test-db';

pg.connect(dbUrl, function(err, client, done) {
    for (var i = 0; i < 1000; i++) {
        client.query(
            'INSERT into post1 (title, body, created_at) VALUES($1, $2, $3) RETURNING id', 
            ['title', 'long... body...', new Date()], 
            function(err, result) {
                if (err) {
                    console.log(err);
                } else {
                    console.log('row inserted with id: ' + result.rows[0].id);
                }

            });
    }
});

在终端中运行 Node app.js 后,它会将 1000 行插入数据库,然后应用程序挂起,并且不会终止。我做错了什么?我查看了 pg 模块示例,但没有发现我正在做任何不同的事情......


我错过了对 client.end() 的调用;现在应用程序正确退出:

pg.connect(dbUrl, function(err, client, done) {
    var i = 0, count = 0; 
    for (i = 0; i < 1000; i++) {
        client.query(
            'INSERT into post1 (title, body, created_at) VALUES($1, $2, $3) RETURNING id', 
            ['title', 'long... body...', new Date()], 
            function(err, result) {
                if (err) {
                    console.log(err);
                } else {
                    console.log('row inserted with id: ' + result.rows[0].id);
                }

                count++;
                console.log('count = ' + count);
                if (count == 1000) {
                    console.log('Client will end now!!!');
                    client.end();
                }
            });        
    }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

node.js、pg、postgresql 和插入查询(应用程序挂起) 的相关文章

  • Node.js 中的 util.error 和 console.error 有什么区别?

    两者到底有什么区别util error and console error 在这两种方法中 它都会打印到 stderr 文档 实用程序错误 http nodejs org api util html util util error 与 ut
  • Macbook React Native 安装

    npm WARN checkPermissions 缺少写入权限 usr local lib node modules npm 错误 路径 usr local lib node modules npm 错误 代码 EACCES npm 错误
  • 从 mongoDB 获取数据并在 HTML 上显示

    我无法理解如何从 MongoDB 数据库获取数据并将其显示在 HTML 上 我已经设置了数据 这是 server js 文件 const path require path const express require express con
  • 为什么我无法在 angular2 中导入 lodash

    我在 Angular2 rc1 中使用 Angular CLI 进行开发 我已经通过 npm 安装了 lodash node module 并使用以下命令在 systemjs 中配置了它 系统配置 ts User Configuration
  • Heroku 上的服务器请求中断 (H18)

    Heroku 支持不是很有帮助 除了 添加更多日志会有所帮助 之类的提示 所以让我在这里尝试一下 我们正在遇到很多503最近 重现非常容易503 using curl curl limit rate 100 s X POST https o
  • console.log 从控制台提取方法

    考虑到console未被覆盖并引用本机对象 console log方法 可能还有其他方法 是从console对象与 var log obj log console log instead of console log bind consol
  • 从 NodeJS 运行 localhost 服务器时出现 ECONNREFUSED

    我在本地计算机上启动并运行了一个 NodeJS 服务器 该服务器正在侦听端口 50000 从也在我的本地计算机上运行的另一台服务器 我需要向该服务器发出一个简单的 GET 请求 但我得到的只是 ECONNREFUSED 错误 Error c
  • 将cURL请求转换为node.js的请求

    这是我的有效 cURL 命令 curl https www example com api data jsonrpc 2 0 method getObjectsByFilter id 3 这是我在 Node js 中尝试过的 var url
  • 导入JavaScript模块时什么时候需要添加文件扩展名?

    导入模块时 我注意到有时导入的文件有扩展名 例如 import myFunc from foo js 而其他库 导入不会 import myFunc from foo 这与 ES 模块与 CommonJS 模块有关吗 这取决于你的运行时和编
  • 在节点中使用mongoosejs更新多条记录

    我在使用 mongoosejs 和 Node js 更新多个记录时遇到问题 由于某种原因 即使有多个匹配 我也只更新一条记录 我还注意到回调在 update 之后不会触发 我没有收到任何错误消息 这里发生了什么 Page find stat
  • 猫鼬模式创建

    我刚刚开始使用猫鼬 我有一个使用 mongoose 的创建脚本 它使用示例数据创建模式和数据库 现在我编写实际的应用程序 我是否需要在每次应用程序运行时创建架构对象 或者它是否已经以某种方式可用 换句话说 我是否需要在每个使用 mongoo
  • 通过 npm 节点自动化 Git 提交 + 版本控制 + 标记

    我一直试图得到的是 使用 npm version 来更新 package json 并创建一个标签 然后提交我的更改 通过这种方式 我将能够按版本添加标签 自动版本控制并提交信息 我遇到的问题是 当我使用 npm 版本时 它会自动执行标记
  • 客户端 websocket 限制消息长度

    我正在使用 node js 开发一个 websockter 服务器 并且我发现了 Chrome 中的一些怪癖 Chrome OS X 10 7 64 位 上的最大字符串长度为 17740 而 Firefox 似乎可以毫无问题地处理非常大的字
  • nodeJS 防止 res.download 超时

    我对我的 nodeJS 服务器进行了 POST 调用 该服务器在 mongo 数据库上搜索一些数据并返回包含所请求数据的 CSV 文件 问题是数据搜索和处理超过了nodeJS默认的2分钟超时 在不同的场景中 y 使用 res writeHe
  • 在新的 Apple Silicon 架构上运行 Ruby、Node、Python 和 Docker? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何获得在 Apple Silicon 架构上运行的 Ruby Python 和 Node js 开发环境 虚拟化软件怎么样 码头工人
  • 当 Node.js 作为脚本运行时,“this”的上下文是什么? [复制]

    这个问题在这里已经有答案了 从节点 REPL node gt var x 50 gt console log x 50 gt console log this x 50 gt console log this global true 一切都
  • 亚马逊 API 安全与 API 密钥?

    我已经在亚马逊 API 网关上部署了我的 REST API 并且我面前有一个存在安全问题的场景 我正在为所有 api 请求使用 api 密钥 我想知道该 api 密钥是否以某种方式公开 并且我们知道已发布的应用程序正在使用相同的 api 密
  • 使用 facebook-node-sdk 模块上传照片 / (#324) 需要上传文件

    我正在尝试使用 facebook node sdk 模块将照片发送到页面 https github com Thuzi facebook node sdk https github com Thuzi facebook node sdk 我
  • 从 Angular Controller 调用节点函数的常用方法

    让我在这之前加上我是 Node Express 新手 我有一个 AngularJS 应用程序 它利用 Node JS 来管理 Azure Blob 需求 例如创建 Blob 容器 如下所示 function test containerNa
  • powershell 和 cmd 之间的文件大小不同[重复]

    这个问题在这里已经有答案了 我正在使用一点processconf js工具来构建configuration json来自多个文件 json files 这是我正在使用的命令 node processconf js file1 json fi

随机推荐

  • JHipster 按实体字段搜索实体

    我有锦标赛实体 他与奖项实体具有 OneToOne 关系 获奖实体已备案 金额 因此 如果我想搜索在两个值之间有奖品的锦标赛 我该如何使用 JHipster QueryService 来做到这一点 基于您正在使用 QueryService
  • 为什么属性目标“typevar”没有记录?

    众所周知 在 C 中可以指定target自定义属性规范 如示例所示 method SomeDecoration return SomeOtherMark int MyMethod 目标 在哪里method and return 帮助指定属性
  • 等待函数到底如何针对条件变量工作

    背景 我对条件变量如何与共享数据的并发访问结合使用的理解有些困惑 以下是描述我当前问题的伪代码 Thread 1 Producer void cakeMaker lock some lock while number of cakes MA
  • 如何修复 .net 标准 2.0 项目中的“无法加载文件或程序集 System.IO.Packaging,版本=4.0.3.0”

    我正在尝试处理一个word文档 为此 我安装了 DocumentFormat OpenXml NuGet 包 它安装了以下依赖项 文档格式 OpenXml 系统 IO 封装 4 5 0 系统 运行时 序列化 一旦它到达我正在处理Word文档
  • C++ 转换重载函数时遇到问题:<未解析的重载函数类型>

    我在超类中有一些函数 旨在将字符串与内部函数相关联 class Base typedef std function
  • 如何从字符串输入中删除逗号

    我正在开发一个使用 MIPS 本机指令的程序 该程序将允许用户输入三个十进制数字作为空终止字符串 每个数字不能超过六位数字 如果用户输入逗号 例如 123 456 则从内存中删除逗号 第一个数字存储在内存地址 0x10000000 中 第二
  • 如何在 Symfony 中添加新的翻译域

    我正在使用 symfony 在我的包中我需要创建一些翻译 但我宁愿在与 消息 不同的域中进行操作 就像 FOS User Bundle 所做的那样 他们使用 FOSUserBundle 域 所以我用我的翻译创建了一个 MyBundle en
  • ReactNative Flatlist - Flatlist 项的优化性能

    当我们有大数据时如何优化 Flatlist 的性能 我的列表既有图像又有文字描述 我想找到一种方法来提高列表的性能并删除从缓存列表中加载的额外图像以及让清单不重 FlatList 组件应该是一个高性能的解决方案 用于在应用程序中显示大量数据
  • Java框架[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 最近 我遇到了许多用 Java 创建 Web 应用程序的不同框架 例如 Play Wicket Gra
  • Xcode 中的 Boost 库编译器错误

    如何在 Xcode 中正确使用 boost 我正在尝试使用 boost 库编译一个项目 该示例项目在终端中使用 GCC 12 可以正常编译 但我无法在 Xcode 中编译它 编译器错误主要是 boost 库中的命名空间问题 例如 boost
  • -[UITextField isFirstResponder] 即使字段当前正在编辑也会返回 false

    在我的视图控制器中 viewDidLoad方法 我调用 myTextField becomeFirstResponder 这就像一个魅力 打开键盘 myTextField 获得焦点 我有一个带有目标操作的按钮 该操作位于同一控制器中 用于检
  • Bash:如何将这两个 if 语句压缩为一个

    我是 Bash 和脚本新手 我想找到一种方法将这两个语句合并为 1 该脚本的作用是检查两个文件 D1 和 D2 是否是同一文件 如果不是 则检查它们的内容是否相同 if D1 ef D2 then echo not the same fil
  • 在 Electron 中操作 DOM

    在电子应用程序中操作 DOM 的最佳方法是什么 我使用 ipc 和 webcontents 从文档中制作了一些教程 但没有运气 我的应用程序非常简单 我只想像控制台一样使用网络并显示来自多个同步函数 主过程 结果的消息 渲染过程 我用真实的
  • 如何制作“查看密码”?

    我正在制作密码识别系统 我想做一个 查看密码 功能 可以切换隐藏到显示密码 我不知道如何实现这个功能 这是我的简短代码 from tkinter import root Tk Entry box to get password from u
  • UICollectionView - 滚动到第一个单元格

    我正在使用 UICollectionView 单击按钮后需要滚动到第一个单元格 该按钮位于我的集合视图中的 大 标题部分 单击它时 我需要滚动到位于该按钮下方的第一个单元格 我创建了此按钮的操作 但我不知道如何滚动到第一个 UICollec
  • Sql事务的并发处理

    假设我要使用 ASP NET 和 SQL Server 2005 启动一个项目 我必须设计该应用程序的并发要求 我计划在每个表中添加一个时间戳列 在更新表时 我将检查时间戳列是否与所选的相同 这种方法足够吗 或者这种方法在任何情况下都有缺点
  • 如何将数组转换为元组?

    我只想在 Swift 中将数组转换为元组 像下面这样 gt gt gt myArray 1 2 3 4 5 gt gt gt mytuple tuple myArray gt gt gt mytuple 1 2 3 4 5 最简单的方法是什
  • Mapstruct 没有更新生成的源文件中的 getter 和 setter

    我有一个具有属性的实体 我曾经这样写过 私人龙重症监护室 我正在使用地图结构 这是我针对所述实体的映射器 Mapper componentModel spring public interface ProtectionQueryMapper
  • 拖放CDK:在起始列表中继续显示拖动的元素

    我正在使用 cdk Drag and Drop 因为我需要它来创建工作 POC 我从这个开始code https stackblitz com angular nlpedgvrmbg file app 2Fcdk drag drop con
  • node.js、pg、postgresql 和插入查询(应用程序挂起)

    我有以下简单的节点应用程序用于将数据插入 postgres 数据库 var pg require pg var dbUrl tcp user psw localhost 5432 test db pg connect dbUrl funct