Tag: postgresql

风帆水线大文件PostgreSQL

我想在postgreSQL数据库下保存大文件(5Go max),不要问我为什么我的老板想要,即使我说这是一个坏主意。 所以现在我必须find一个可行的解决scheme。 现在我正在尝试这个: var file = req.file("largeFile"); file.upload({maxBytes : 1073741824 },function (err, uploadedFiles) { if (err) { return res.serverError(err); } var fs = require("fs"); if (uploadedFiles.length > 0) { var file = uploadedFiles[0]; fs.readFile(file.fd, function (err, data) { if (err) { return res.serverError(err); } var largeFile = {name : "testFile", data: data}; LargeFile.create(largeFile).exec(function created […]

JSON错误对象中的奇怪未命名的属性

我在node.js控制台脚本中使用pg-promise 。 节点版本:v0.10.38 pg-promise版本:1.1.4 由于不重要的错误configuration问题,我得到了连接错误。 但是我希望我的脚本能够对这个问题提供丰富的解释。 如果我将传递给error handling程序callback的错误对象以“原样”的forms通过console.log()发送给控制台,那么我可以看到文本“no pg_hba.conf”作为主机“127.0.0.1”条目你可以看到标签为“输出1”。 但是,如果这似乎不是一个有效的JSON对象,我不知道如何访问该消息的属性。 另外,如果我将JSON.stringifgy()的结果logging在该对象上,则该信息就会消失。 这是pg-promise实现的错误吗? 或者它是某种JSON隐藏的属性,可以以任何方式访问? 以下是对这个问题的再现: 源代码: var pgpLib = require('pg-promise'); var pgp = pgpLib({}); var db = pgp({ host: "localhost", database: "__db_name__", user: "__db_user__", password: "__db_password__", }); db.query("select 'foo'").then( function(){ console.log ("Works!!"); }, function(err){ console.log("ERROR!!", err); // (Output 1) // console.log("ERROR!!", JSON.stringify(err)); // (Output 2) } […]

节点postgres插入语法错误

我试图将我的psql安装程序切换到节点,无法获得以下testing查询工作。 PG = require('pg') module.exports = class Postgres extends Backbone.Model initialize: => PG.connect process.env.DATABASE_URL, (error, client) => this.client = client this.sendMessage(1, 2, '3') sendMessage: (from, to, message) => this.client.query('INSERT INTO messages(from, to, content) VALUES($1, $2, $3) RETURNING id', [from, to, message], (error, result) => console.log 'error', error console.log 'result', result ) 回应以下错误: error { [error: […]

无法访问本地postgreSQL heroku,node.js

使用postgreSQL数据库设置node.js应用程序,全部在生产环境中运行。 我已经使用CLI heroku pg:pull …这是成功的。 我在本地运行postgres 9.4.X,但在本地启动我的应用程序(工头开始)我得到一个错误:“错误错误:关系”test_table“不存在”。 我按照这里的指示: https : //devcenter.heroku.com/articles/heroku-postgresql#local-setup但仍然我似乎无法访问我的数据库在本地运行。 在.bash_profile: export PATH="/usr/local/heroku/bin:$PATH" export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin export PATH="/Applications/Postgres93.app/Contents/MacOS/bin:$PATH:$PATH" 控制台错误日志: 15:39:48 web.1 | started with pid 18779 15:39:48 web.1 | Node app is running on port 5000 15:39:52 web.1 | { [error: relation "test_table" does not exist] 15:39:52 web.1 | name: 'error', 15:39:52 web.1 | length: […]

如何使用nodejs + pg进行区分大小写的查询

如何使用nodejs + pg进行区分大小写的查询 我想select列内容=='a@gmail.com', 但似乎成为select列=='a@gmail.com'? [error: column "a@gmail.com" does not exist] 码 var userEmail = 'a@gmail.com'; var query = 'SELECT EXISTS(SELECT * FROM "User" WHERE "Email" = "'+userEmail+'")'; dbClient.query(query, function(error, result) { …

postgres可以返回参与查询的表名吗?

我想创build一个快速的中间件函数来检查一个sqlstring(可以是select / insert / update / delete),并提取查询中参与表的名字。 对于特定的表格,我可以根据应用程序的权限定义来添加中间件function。 我看到select语句可以使用views并从information_schema.view_table_usage中提取信息。 我可以提取这个信息为任意的SQL?

在Node.js中捕获SQL错误

我有一个pSQL表设置为要求一些数据的唯一值,我打电话插入这个数据的function: CREATE OR REPLACE FUNCTION create_location( name text, latitude numeric, longitude numeric, logo_url text = '') RETURNS void AS $$ INSERT INTO "PartySpot".locations (name, latitude, longitude, logo_url) VALUES (name, latitude, longitude, logo_url); $$ LANGUAGE SQL VOLATILE STRICT; 我使用node.js / express从一个端点调用它: pg.connect(connectionString, function(err, client, done) { var query = client.query("SELECT * FROM create_location($1,$2,$3,$4)", [req.body.name, req.body.latitude, req.body.longitude, […]

不同的数据库在nodejs中进行生产和开发

我知道Ruby on Rails具有这个特性,并且在railstutorial中特别鼓励它。 但是,我还没有在nodejs中find这样的事情。 如果我想在我的机器上运行Sqlite3,所以我可以很容易地使用数据库访问,但在Heroku生产postgres,我怎么会在Nodejs做到这一点? 我看不到任何教程。 谢谢! 编辑:我打算包括Node.JS + Express。

Postgres – 用于存储嵌套数组的列types

在我的nodeJs应用程序中,我需要存储和检索表示要素几何(坐标,点,线,多边形)的嵌套数组,但不是通常由postgis使用的格式。 例如,数组看起来像这样: [[0, 0, 0, 1, 0, 2, …], [1, 0, 1, 1, 1, 2, …], …] 或概念上: [[x0, y0, x1, y1, x2, y2, …], [x0, y0, x1, y1, x2, y2, …], …] 我不想将这些数组转换为postgis几何结构。 我想能够以最简单的方式存储和检索thoses数组。 你会build议什么postgres列types? 编辑:这些数组可能很大 编辑2:在上面的例子中,数字是小的int,但实际上他们会浮动

Can Sails可以同时查询两个表吗?

我正在尝试使用Sails查询语言来查询两个表,Postgresql作为数据库。 我有两张桌子“人”和“宠物”。 对于“人”,其模型是: id: { type: 'integer', primaryKey } namePerson: { type: 'string' } age: { type: 'integer' } 对于“宠物”,其模型是: id: { type: 'integer', primaryKey } owner: { model: 'Person' } namePet: { type: 'string' } 我想find所有由12岁以下的人所有的宠物,我想在一个查询中做到这一点。 那可能吗? 我只知道如何做两个查询。 首先find所有年龄小于12岁的人: Person.find({age: {'<', 12}}).exec(function (err, persons) {..}; 然后,find他们拥有的所有宠物: Pet.find({owner: persons}).exec( … )