Tag: postgresql

获取数据库插入错误

我使用节点postgres模块nodeJS,我不得不做一些简单的查询,但我不明白我怎么可以捕获插入查询错误。 这是我的示例代码: pg.connect(conString, function (err, client, done) { client.query("INSERT INTO foo(bar) VALUES ('lol')"); res.json({'err':0,'message':'successful insert'}); }); 我想添加一个res.json({'err':1,'message':'ERRROR'}); 如果在查询过程中发生错误。

如何在不修改任何属性的情况下更新续集模型的字段“updated_at”

我使用PostgreSQL的sequelize 2.0.0。 我想知道是否有可能用一种方法更新模型的字段“updated_at”。 如果是的话,我该怎么做到呢? 例如,在其他框架,如Laravel,你有model.touch()自动更新模型的“updated_at”。 我已经试过使用model.save(),但是像sequelize doc所说的那样,调用这个没有属性的方法什么也不做。 另外,在文档中,我没有发现任何能够让我做我需要做的事情。 预先感谢您的帮助。 编辑:举一个我想要实现的例子,我已经有了我的模型的一个实例: Model.findById(1).then(function(myInstance){ […] myInstance.update() //here, I didn't change any attributes of myInstance and I would like to update the field udpated_at without doing another query. […] }):问题是:我怎样才能更新字段updated_at我以前的实例用一种方法?

Sails.jsfind错误

大家好! 我正在用postgres来开发风帆。 我有一个与轨道集合的播放列表。 像那样 : Playlist = { tracks: { collection: track } } 我试图提出这样的要求: Playlist.find({tracks: 1}).exec(…) 要获取所有轨道ID为1的播放列表! 但是sails return =>详细信息:错误:列playlist.tracks不存在。 不明白,因为waterline创build了一个名为“playlist_tracks__track_tracks_track”的表和所有的关系。 有人可以帮助我吗?

错误:“id”列中的空值违反了sequelize中的非空约束

我正在尝试将我的主键的数据types更改为sequelize中的string,并尝试使用upsert创build时出现以下错误。 error: SequelizeDatabaseError: null value in column "id" violates not-null constraint 这里是代码: id: { type: DataTypes.STRING, primaryKey: true, allowNull: true, autoIncrement: false, field: "id" } 我该如何做这项工作? 提前致谢。

用node-postgres查询postgres数据库

每次查询数据库时,是否需要使用pg.connect()? 在查看了githhub页面和wiki之后,这些例子在pg.connectcallback中显示了一个查询(注释来自于github示例,我没有写它们) //this initializes a connection pool //it will keep idle connections open for a (configurable) 30 seconds //and set a limit of 20 (also configurable) pg.connect(conString, function(err, client, done) { if(err) { return console.error('error fetching client from pool', err); } client.query('SELECT $1::int AS number', ['1'], function(err, result) { //call `done()` to release the client […]

PostgreSQL“列”foo“不存在”其中foo是值

我试图从节点执行一个Postgres数据库更新查询,我遇到了这个奇怪的问题: 'UPDATE salesforce.Guest__c SET currently_at_property__c = "foo" WHERE rewards_id ='+rewardsId, 我试图设置currently_at_property__c等于值“富”,但出于某种原因,我得到这个错误: error: "column "foo" does not exist" 我不知道为什么会这样,因为foo是值,而不是列。

事务完成后,PostgreSQL只通知NOTIFY

我有一个API向TableA中插入一行,然后在TableB中插入N行,并使用从TableA.id中设置的外键。 在另一个脚本中,我使用LISTEN来侦听插入,但是只有在整个查询集完成后才会收到通知。 我希望使用事务处理会有所帮助,但NOTIFY在等待所有查询成功的同时还会插入它们执行的顺序。 有没有人有办法解决吗? 是否有可能触发两个不同的节点服务之间​​的事件?

节点js – Bcrypt – 比较方法为正确的input密码返回false

我已经在这里经历了各种类似的问题,我试了一下,但仍然是,结果总是“错误的密码”。 我正在使用bcrypt for nodejs,而我的密码哈希存储在Postgresql数据库中。 hash和compare方法如下: generateHash : function(password, callBack){ bcrypt.genSalt(8, function(err, salt) { bcrypt.hash(password, salt, callBack); }); } validPassword : function(password, callBack){ bcrypt.compare(password, this.password, callBack); } 我在下面这段代码中使用了这些函数: //Generating hashing and DB storing User.generateHash(password, function(err, hash) { // if there is no user with that email // create the user var newUser = User.build({ email: email, […]

Postgres:无法从NodeJS(PG)连接到md5

Windows 10上的Node v6.2; PG(node-postgres)v4.4.2 Ubuntu 14.04上的Postgres 9.5 Trusty VirtualBox 我正在使用PG(node-postgres)模块在虚拟机上连接到Ubuntu上的Postgres。 我能够使用Navicat连接没有问题,但是当我连接NodeJS时,那些相同的凭据不起作用。 postgres日志显示这个: xxxx@yyyy FATAL: password authentication failed for user "xxxx" xxxx@yyyy DETAIL: Connection matched pg_hba.conf line 96: "host all all all $ 我添加了这行到我的pg_hba.conf文件,现在它的工作,但任何人都可以解释为什么md5不工作? # I added this line: host all all all password # This line was already here: host all all all md5

多租户(SAAS)使用nodejs集合

我正在尝试使用nodejs和postgres构build一个多租户(/ Software as a service),并将其作为ORMinheritance。 由于安全原因,我决定为每个客户端使用单独的数据库,而不是单个数据库,而所有表都有额外的列。 我取得了这个结果,但是性能并不好,因为我必须根据每个数据库(几乎每个请求)初始化每个数据库的模型。 有没有更好的方法来做到这一点? 我在遗漏了什么东西吗?