Articles of postgresql

如何在Sequelize中以JSON的forms返回数据

当我做一个Sequelize查询它返回给我一个对象(或数组),我猜是一个Sequelize模型(或模型数组(集合types??)),但没有logging任何地方,所以我只是猜测。 我总是喜欢结果是JSON。 有什么我可以通过查询来强制这个? 如果可能的话,我宁愿不手动按摩每一个结果我回到JSON。 文档显示这个返回一个string: console.log(JSON.stringify(users)) 所以有一些内置的序列化。 现在我正在使用未toJSON()方法执行此操作: query().then(function(result) { if(result.length) { return result.toJSON(); } else { return result.map(function(item) { return item.toJSON(); }); } }); 这很麻烦。

如何设置nodejs的节点path(Ubuntu)

我试图设置nodejs来访问postgres数据库。 我到目前为止所做的是(https://gist.github.com/579814): echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc . ~/.bashrc mkdir ~/local mkdir ~/node-latest-install cd ~/node-latest-install curl http://nodejs.org/dist/node-latest.tar.gz | tar xz –strip-components=1 ./configure –prefix=~/local make install # ok, fine, this step probably takes more than 30 seconds… curl http://npmjs.org/install.sh | sh 然后 git clone git://github.com/isaacs/npm.git make make install 到现在为止还挺好。 但是,当我尝试安装postgres驱动程序 npm install pg 我得到以下内容: node-waf configure […]

续集:连接两次相同的表

背景: 我有一个与Userlang具有一对多关系的Userlang 。 例如: userlang.id userlang.userid userlang.lang +———–+—————+————-+ 1 1 EN 2 1 FR 3 1 IT 4 2 EN 5 2 DE 6 3 IT 我想select至less有一个userlang.lang=EN. 所有用户和他们的userlang userlang.lang=EN. 所以,我不能使用以下查询: Select USERS.id from USERS inner join USERLANG on USERS.ID=USERLANG.USERID where USERLANG.LANG="EN" 因为它只会selectlang="EN"的Userlangs行,而我想select每个用户的所有userlang行,其中至less有一个lang="EN" 我已经可以用SQL以两种方式编写这样的查询: 使用子查询: Select * from USERS inner join USERLANG on USERS.ID=USERLANG.USERID where USERS.ID […]

使用续集ORM连接到node.js上的Amazon RDS Postgres数据库的问题

我目前正在将在Heroku中设置的环境迁移到Amazon Web服务堆栈(RDS PostgreSQL,Elastic Beanstalk)。 尝试通过sequelize.js ORM连接到PostgreSQL时,我遇到了一些问题。 错误信息如下: 未处理的拒绝SequelizeHostNotFoundError:getaddrinfo ENOTFOUND [host]。 我可以通过pgAdmin连接到数据库,所以我知道服务正在工作,并且以下configuration在Heroku上工作: sequelize = new Sequelize(process.env.DATABASE_URI, { dialect: 'postgres', protocol: 'postgres', logging: true, timestamps: false }) DATABASE_URI格式如下: postgres://[db_username]:[db_password]@[hostname]:[port]/[db_name] 任何帮助将不胜感激。 提前致谢!

NodeJS和pg-promise,捕获PostgreSQLexception

我正在运行NodeJS和pg-promise以及PostgreSQL后端。 我创build了自己的TRIGGER,在某些情况下会引发exception。 事情在这方面正常工作。 但是有了pg-promise,我很难捕捉错误的名字。 使用这个代码: … .catch(function(err) { console.log(err); }); 我得到以下输出: [ { success: false, result: { [error: vote_limit_exceeded] name: 'error', length: 80, severity: 'ERROR', code: 'P0001', detail: undefined, hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: undefined, table: undefined, column: undefined, dataType: undefined, constraint: undefined, file: 'pl_exec.c', line: '3068', routine: 'exec_stmt_raise' […]

从nodejs调用postgres函数或存储过程的最佳/正确方法是什么?

我使用“pg”模块来处理postgresql数据库,如何使用pg调用函数我有疑问, 我正在使用查询方法调用函数, client.query("SELECT * FROM SQSP_IsUserNameExists($1)",[userName], function(err, result) { // some code. }); 这是工作正常,但这是正确的方式来调用postgresql函数。

ORM for postgresql / node.js

Node.js社区非常活跃。 postgresql / ORM至less有几个库。 现在 – 2012年3月 ,我正在寻找一个足够成熟,生产准备好和mongoose类似的产品。 请分享,如果你有任何真实的经验与他们。 是的,我见过这个问题,还有其他十几个人。

连接Postgres Heroku与Knex不工作

用Knex运行我们的查询,我们难以build立一个Heroku / Postgres数据库。 我们已经build立了我们的heroku / postgres数据库并创build了我们的表格,但是我们很难与Knex连接。 更糟糕的是,几乎没有关于将Heroku / Postgres与Knex或任何ORM连接的文档,所以试图找出这些东西是一个真正的痛苦。 这些是我试过的连接模式。 var knex = require('knex')({ client: 'pg', connection: { user: username, password: password, host: host, port: port, database: database, ssl: true } } }); 并且…请注意,ssl真正的切换和删除所有在一起无济于事。 var knex = require('knex')({ client: 'pg', connection: HEROKU_POSTGRESQL_COLOR_URL, ssl: true } }); 我们也尝试了这种模式: var pg = require('knex')({ client: 'pg', connection: HEROKU_POSTGRESQL_COLOR_URL […]

重复计数ORM中的多个计数查询

我想创build查询,它可以在sequelize.js一次在一个月的每一天的logging数不是像: Record.count({ where: { createdAt: { $like: '2015-04-14%' } } }).then(function(c) { console.log("2015-04-14 have been created" + c + "records"); }); Record.count({ where: { createdAt: { $like: '2015-04-15%' } } }).then(function(c) { console.log("2015-04-15 have been created" + c + "records"); }); Record.count({ where: { createdAt: { $like: '2015-04-16%' } } }).then(function(c) { console.log("2015-04-16 have been […]

用node-postgres监听查询超时?

我有一个Postgresql 9.1数据库上的“文章”表和一个通知每个插入通道的触发器。 我想创build一个node.js脚本来捕获这些插入,并使用Socket.io将通知推送到连接的客户端。 到目前为止,我正在使用node-postgres模块侦听通道,但似乎LISTEN查询在大约10-15秒后超时并停止捕获插入。 当超时发生时,我可以查询一个新的监听,但是我不确定如何正确执行延续。 这是我的postgresql通知过程: CREATE FUNCTION article_insert_notify() RETURNS trigger AS $$ BEGIN NOTIFY "article_watcher"; RETURN NULL; END; $$ LANGUAGE plpgsql; 触发: CREATE TRIGGER article_insert_trigger AFTER INSERT ON article FOR EACH ROW EXECUTE PROCEDURE article_insert_notify(); 和node.js代码: var pg = require ('pg'), pgConnection = "postgres://user:pass@localhost/db" pg.connect(pgConnection, function(err, client) { client.query('LISTEN "article_watcher"'); client.on('notification', function(data) { console.log(data.payload); […]