问题标签 [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.
node.js - 使用 node-postgres 在 postgres 中存储文件
我正在尝试使用 node-postgres 模块将一个小文件存储到 postgres 数据库中。我知道我应该使用 bytea 数据类型来执行此操作。我遇到的问题是当我做一些事情时:
db 中文件列的内容是:\x 并且没有存储任何内容。如果我将数据缓冲区更改为十六进制,即 data.toString('hex') 文件将被存储,但当我读回文件时所有格式都会丢失。
使用 node-postgres 模块将文件存储到 postgres 的正确方法是什么?
arrays - 将数组从 node-postgres 传递给 plpgsql 函数
plpgsql 函数:
node-postgres 查询 + 测试数组:
节点服务器的输出:
err:错误:数组值必须以“{”开头或维度信息
结果:未定义
我还尝试在客户端查询中转换参数,就像testarray($1::int[])
返回相同的错误一样。
我将函数参数更改为(anyarray int)
,输出错误更改为:
错误:错误:整数的无效输入语法:“1,2,3,4,5”
结果:未定义
以及其他几个变体。
我寻找不产生错误并返回 5 的变体。
我阅读了关于Postgres parse-array 问题和关于 node-postgres 中参数化数组的这个 stackoverflow 问题:
但答案似乎并不存在。
sql - 事务如何与 node-postgres 一起工作?
我正在使用 node-postgres 以回调样式进行 SQL 查询。我有一个函数可以接收查询列表并在事务块中执行它们。我的理解是我使用 node-postgres 提交查询“BEGIN”,在我的事务块中提交我需要的所有查询,然后提交查询“COMMIT”。
但是,尽管我的查询是有效的(简单的插入,作为独立查询经过良好测试),并且一切都肯定以正确的顺序执行,但当我在事务块之后测试数据库的状态时,我得到了不一致的状态。有时我的所有插入都发生了,有时只有其中一些发生了。我的理解是事务块是原子的,因此在提交后立即使用 SELECT 查找块中的插入应该是全部或全部。
这是我的功能:
使用辅助函数 tryQuery:
对出了什么问题有任何想法吗?
node.js - 什么样的对象是 node-postgres 错误?为什么 node 的 console.log 和 JSON.stringify 处理方式不同?
console.log 像这样输出它,
但 JSON.stringify 没有看到错误的叙述部分,
{"length":86,"name":"error","severity":"ERROR","code":"42601","position":"62","file":"scan.l","行":"1001","例程":"scanner_yyerror"}
我不知道如何在阅读维基(https://github.com/brianc/node-postgres/wiki/Error-handling,http://nodejs . ru/doc/v0.4.x/stdio.html#console.log)
代码是这样的,
谢谢
更新:err.toString()
显示error: syntax error at or near "step"
node.js - 如何在服务器中使用 node-postgres?
我正在编写一个使用 Postgres 数据库的 Node.js Web 服务器。我曾经像这样连接每个新请求:
但经过几次请求后,我在尝试连接时注意到 Heroku 出现“内存不足”错误。我的数据库只有 10 行,所以我不知道这是怎么发生的。我所有的数据库访问都是这种形式:
假设内存错误是由于与数据库有多个持久连接,我切换到node-postgres
在文件顶部仅连接一次的几个示例中看到的样式:
但是现在,当我在连接中断后尝试执行查询时,我的请求会挂起(无限期地?)。(我通过杀死一个 Postgres 服务器并重新启动它来模拟它。)
那么我该怎么做其中之一呢?
- 正确汇集 Postgres 连接,以便我每次都可以“重新连接”而不会耗尽内存。
- 让全局客户端在网络故障后自动重新连接。
node-postgres - 如何使用 node-postgres 进行同步查询(阻塞调用)?
在启动我的 Node.js 应用程序时,我想在继续控制流之前对 PostgreSQL 数据库进行几次同步调用以检查一些事情。如何使用 node-postgres 包实现这一点?
postgresql - Postgres:如何“插入……如果不存在……”
我有一个 postgres 表来跟踪几所不同学校的时间表时间段,我正在尝试编写一个函数(在 JavaScript 中使用 node-postgres 库),每个学校每天每个时间段插入 1 个新行为即将到来的一周。
谁能帮我弄清楚 WITH 命令能够(在一个查询中)检查表中是否已经存在特定的学校/日期/时间组合,如果不存在,则插入它?那有意义吗?
node.js - 是否可以在 node-postgres 中设置 postgres search_path?
我正在将应用程序从 RoR 移动到 Express.js。ActiveRecord postgres 适配器具有 search_path 配置选项。
是否可以为 Client 设置 search_path ?
node.js - 来自 node.js 的 postgres 连接
我在我的应用程序中使用node-postgres。我想知道我想遵循的最佳实践以确保稳定的连接。
以下是我现在正在使用的代码,
正如您在代码中看到的那样,我正在为每个请求连接数据库,并在查询执行后断开连接。我还有一个想法,我只能在全局范围内连接数据库一次,并使用打开的连接执行查询。代码看起来像
在这里,连接永远不会结束。据我所知,我无法决定哪一个是最好的。请建议。
谢谢..
javascript - 从事件发射器回调中返回一个值
我在节点中使用 postgresql 模块'pg'。当从数据库返回一行时,我想做一些处理,但我不知道如何将值返回给调用函数。
当我打电话时:
我希望 boo 等于回调的返回布尔值。
我试图声明一个未初始化的变量,然后分配返回的布尔值,
但该函数不会等到 'pg' 返回一行。这会导致返回的变量返回未定义。我想我需要同步调用其中的一部分,以便在函数返回变量之前分配变量,但我不确定如何为普通函数执行此操作。
编辑:
伪代码就够了。我是 Node 新手,并试图在提问方面做得更好。这是我所在的一个类的应用程序。我用 web.py 用 python 编写了大部分内容,并且由于与 angular.js 框架冲突并在 node.js 中重新编写,我没有太多经验和。我遇到问题的部分是身份验证用户。这是被调用的模块。
以及从数据库获取用户名密码的函数:
我知道这是一种不安全的身份验证方式。我想知道是否有更好的方法来做到这一点。我试图根据密码是否匹配返回一个布尔值。