Tag: postgresql

在knex中迁移表:存储媒体,图像或blob

我正在尝试将关系迁移到我的postgres数据库。 问题是我不知道图像使用什么值types。 exports.up = function (knex, Promise) => { return knex.schema.createTable('observations', (table) => { table.increments(); table.integer('user_id').notNullable(); table.blob('image').notNullable(); //??? table.string('category').notNullable(); table.string('description').notNullable(); table.boolean('approved').notNullable().defaultTo(false); table.float('latitude').notNullable(); table.float('longitude').notNullable(); table.timestamp('created_at').defaultTo(knex.fn.now()); }); }; 我以为会有一个“blob”文件types,但在文档中似乎没有迁移任何媒体的迹象。 请帮帮我。

Openwhisk无法调用撰写postgre sql

我已经尝试了更多的小时数,而不是承认要让openwhisk函数调用Compose.io上的postgre sql datbase。 这是我的代码: 我最新的化身是这样的: function myAction(params) { return new Promise(function(resolve, reject) { console.log('Connecting to Compose database'); // console.log('Params —> ', params); var mysql = require('promise-mysql'); var fs = require('fs'); var pg = require('pg'); var request = require('request') var Promise = require('promise/lib/es6-extensions'); var connString = "postgres:xxxx"; pg.connect(connString, function(err, client, done) { console.log("connectiong..", err, client, done); […]

节点JS护照 – 400注册不好的请求

我尝试在我的Web应用程序上实现一个注册,使用Node JS和Passport.js进行本地身份validation,但是当我在Insomnia上发布请求时(如Postman),出现此错误: Bad Request 我不明白,因为我遵循我在Google上find的教程来执行此操作。 这里是路由(auth.js): const passport = require('passport'); const router = require('express').Router(); //const UserController = require('../controller/UserController'); router // login .post("/login", passport.authenticate("local", function(req, res, next) { console.log(req); })) // logout .get('/logout', (req, res, next) => { req.session.destroy((err) => { res.redirect('/login') }) }) // signup .post("/signup", passport.authenticate("local-register"), (req, res) => { var userInfo = req.body; […]

在where子句中,不会接受有效的moment.js对象

我有以下的sequelize查询: let prms = periods.map((period, index, arr) => { if (arr[index + 1]) { return sequelize.models.Result.aggregate('value', 'avg', { where: { createdAt: { $lt: arr[index + 1], $gt: period }, type: hook.params.headers.type, entityId: hook.params.headers.entity } }).catch(err => console.log('err')); } }) 现在,where对象的createdAt属性导致了我这个问题: 错误:错误:在Object.escape(C:\ Users \ George \ Source \ Repos \ myProj \ node_modules \ sequelize \ […]

node.js / postgres …asynchronous问题?

我有一个types的列表:[“type1”,“type2,”type3“],我循环。对于每种types: – 创build/执行查询来获取当前types的项目 – 当查询完成时(on('end')),运行另一个函数。 for ( var i=0; i<types.length; i++ ){ type = types[i]; value = "test"; … // ADD ITEM: QUERY var query = client.query(…); // QUERY ITEMS OF A THE CURRENT TYPE // ADD ITEM: ERROR CHECKING query.on("error", function (err) { … }); with ({ t: type, v: value }) { // […]

Node.js – 确保一个非阻塞呼叫结束

我正在使用pg postgres节点模块与我的数据库进行交互。 当我使用pg的API时,代码没有问题。 以下是代码示例: Migration.js exports.up = function(logger){ var pg = require("pg") , connectionString = //process.env.CONNECTIONSTRING , client = new pg.Client(connectionString); client.connect(); var cmd = "CREATE TABLE users( " + "id SERIAL NOT NULL, " + "firstName VARCHAR(50) NOT NULL, " + "lastName VARCHAR(50) NOT NULL, " + "CONSTRAINT pk_userid PRIMARY KEY (id) " + […]

在PostgreSQL中重新启动一个失败的事务

通过事务我的意思是几个SQL语句包装(例如)在一个begin isolation level serializable块。 并发事务可以使这个事务失败,即回滚。 如何在PostgreSQL中重启失败的事务?

client.query在node.js中的node-postgres库中没有响应

我现在正在学习如何在node.js中使用node-postgres包,并且为了从Node.js连接到postgres服务器而进行expression。 下面是我写的代码,但是client.query在这里完全不起作用: var pg = require("pg"); exports.batting = function(req, res) { var conString = "postgres://myUserName:myPassword@localhost:5432/baseball"; var client = new pg.Client(conString); pg.connect(conString, function(err, result) { console.log("enter connect"); if (err) { console.log(err); } else { console.log("will execute a query"); client.query("select * from batting;", function(err, result) { if (err) { console.log(err); } console.log("success"); }); } }); } 请注意,我将上面的代码写入了另一个文件,而不是在根app.js文件中。 […]

在postgresql有线协议中,我怎样才能从部分执行的select到达ReadyForQuery?

我正在尝试使用node.js中的node-pg-cursor模块针对postgresql服务器(版本9.3) 这个模块允许顺序读取一个select中的N行,并通过发送来工作 cur.read(N): 'Execute' on portal=unnamed, rows=N 这个命令最多可以读取N行,我们可以继续递增地读取行,直到我们接收到的结束 CommandComplete ReadyForQuery 现在我的问题是,我想退出扩展命令之前获取所有的行,并达到执行序列的结束:我想增量获取N行,N行,N行,..在一个点决定我有足够的。 当我这样做(通过执行停止获取),查询似乎永远不会达到CommandComplete或ReadyForQuery。 这似乎是正常的,因为没有任何事情告诉扩展查询,我永远不会再问它的行。 除了closures连接之外,还有一个命令可以访问CommandComplete或ReadyForQuery,而不是从门户获取所有行? 我试图发送closures并收到CloseComplete,但它没有去ReadyForQuery。 如果我通过在协议上发送垃圾强制ErrorResponse,我达到ReadyForQuery,但似乎不是很干净…

无法将logging插入到Bluemix中的PostgreSQL中

我尝试在Bluemix平台中使用Node.js来运行postgresql。 但是,有一个问题。 我尝试使用https://www.ng.bluemix.net/docs/#starters/nodejs/index.html#PostgreSQL中描述的代码。 我可以运行我在本地环境中成功编写的应用程序。 但是,它在Bluemix平台中无法正常运行。 以下是描述我所做的代码: var recordVisit = function(req, res) { /* Connect to the DB and auth */ pg.connect(psql, function(err, client, done) { if (err) { return console.error('Error requesting client', err); } console.log(req.ip); client.query('insert into ips(ip, ts) values($1, $2)', [req.ip, new Date()], function(err, result) { if (err) { done(); return console.error('Error inserting ip', […]