问题标签 [node-postgres]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
434 浏览

node.js - 使用 node_postgres 连接池的内存问题

我对 node.js 和使用 node_postgres libray 相当陌生。我一直在使用 sockjs 和 Primus 作为我的 Web 服务器原型的传输。我在我的服务器上使用 PM2 作为我的监控工具,并注意到当我查询 postgres 时内存使用率上升。我正在为数据库使用内置的 node_postgres 连接池。断开客户端与服务器的连接并不会清除内存,这只会使我连接的客户端越多,执行的查询越多。当客户端与我的服务器断开连接时,如何清除此内存?我会很感激你们的任何意见!这是我的代码:

0 投票
1 回答
327 浏览

node.js - ExpressJS 4.0 导出路由,得到 TypeError

任何根据下面提供的代码解决以下错误的建议将不胜感激,因为我在这里迷路了:

首先,这是我的应用程序目录的相关结构:

--public_html
  --node_modules
    --express
    --pg
    --body-parser
  --server
    --routes
        api.js
        index.js
    server.js

我在 server.js 中为我的路线设置了一个基本的 express 应用程序:

然后,在我的 api.js 中,我创建路由并定义我必要的 HTTP 动词。我将在这里展示 1 .get 调用:

0 投票
1 回答
1942 浏览

node.js - node-postgres 准备好的语句 - sql 注入

我是 node-postgres 的新手,当我尝试确保使用准备好的语句无法进行 sql 注入时,我无法解决此错误。

这是代码片段

每当我输入地理数据(作为来自使用 socket.io 的客户端的消息)时,socket.emit 返回一个错误说

无效几何

但是,当我["'; DROP TABLE user;"],从代码中删除时,代码工作正常,即

(上)完美运行。帮助我理解我在这里做错了什么的任何帮助都会很棒。

0 投票
1 回答
799 浏览

node.js - 为什么这个蓝鸟 pg 代码会挂起?

我正试图围绕 bluebird Promises,并通过文档中的一些示例。我当前的代码基于此示例

输出如预期:

但是,程序永远不会终止。什么是挂断(双关语)?

0 投票
2 回答
8938 浏览

javascript - 如何为可编辑日期设置正确的日期格式

我从 postgres 获得了一些日期文件,格式如下:

“2000-11-30T14:00:00.000Z”

我不能在页面上的可编辑日期字段中使用它。就像是:

该日期(如上)显示正常。但是当我想编辑此字段时,日期将重置,并且我在控制台中收到此消息:

如果我只是通过编辑字段(输入新日期)来更新模型,将来可以很好地编辑,因为日期存储像(Date obj?):

2000 年 12 月 6 日星期三 00:00:00 GMT+1000 (Якутское время (зима))

如何将我的输入日期转换为可以理解的角度格式?
我还尝试用'new Date(input-date-here) 替换输入日期格式,但它不起作用。可能无法仅从字符串解析输入日期格式?

总结:我需要将输入日期格式转换为 Date obj 或通过 pg.js 日期字段(如 Date 对象)获取。我该怎么做呢?

0 投票
1 回答
1595 浏览

json - 将嵌套的 JSON 从 PostgreSQL 的多对多连接表返回到 node.js

谁能帮我查询postgres中的多对多关系表?

我有桌子:

假设我们有一个练习通过 tag_in_exercise 与两个标签绑定

使用查询时:

我会收到 json

但我想将它作为嵌套 json 接收

是否可以通过使用标准的 postgresql 查询来获得它,或者我需要使用一些 ORM?

或者如果存在其他解决方案,请告诉我,

谢谢

0 投票
2 回答
251 浏览

sql - 如何从 Postgres 中的选择查询中更新多个项目?

我正在使用 node.js、node-postgres 和 Postgres 组合一个脚本来处理来自表的大量数据。我也在使用集群模块,所以我不会被单线程困住。

我不希望集群中的一个子进程复制另一个子进程的处理。如何更新我刚刚从选择查询中收到的行,而不可能另一个进程或查询也选择了相同的行?

我假设我的 SQL 查询看起来像:

对我对 Postgres 和 SQL 的了解不足表示歉意,我以前在一个简单的 PHP Web 应用程序中使用过它一次,而以前从未使用过 node.js。

0 投票
1 回答
2873 浏览

node.js - Postgres 日期使用来自带有 node-postgres 的流中的 COPY

我在 PostgreSQL 中有下表:

我正在使用node-postgres执行COPY FROM任务。这是我到目前为止所拥有的:

但是我遇到了日期问题(第一列),我不知道 Postgres 需要什么格式,并且出现以下错误:

传递该日期的正确方法应该是什么?

0 投票
1 回答
261 浏览

node.js - done() 和 done(client) 之间的 node-postgres 区别

使用节点 postgres done() 和 done(client) 有什么区别。根据文档,如果您使用的是池, done() 只是将连接返回到池以供将来重用,而 done(client) 从池中删除连接。

我的问题是,在长时间运行的过程中,我们是否真的需要在出错时从池中删除连接,或者我们可以只记录错误或其他内容,然后将连接返回到池以供将来重用。

另外,pg.defaults.poolSize 的好值是多少?

提前致谢...

0 投票
1 回答
5003 浏览

node.js - 为什么我不能使用 node-postgres 从数据库中删除?

我需要对参数化查询做些什么特别的事情吗?

以下似乎成功了(我正在使用promise-ified client.querysee end),

因为我得到了输出:

但是随后对数据库的以下查询显示该记录仍然存在

然后当我直接针对数据库进行以下查询时(使用 psql 客户端),以下查询成功

我的query函数(node-postgres 的包装器client.query):