是否有可能得到的SQL语句一起由node-postgres返回的错误?

我从node-postgres (当调用它的client.query方法的时候)得到这样的错误:

 { [Error: syntax error at or near "as"] severity: 'ERROR', code: '42601', position: '60', file: 'scan.l', line: '1044', routine: 'scanner_yyerror' } } 

如果我能看到有问题的SQL以及错误消息,那么debugging将变得更容易。 是否有可能得到它?

我意识到我可以手动实现(wrap client.query等),但是我感兴趣的是node-postgres本身是否可以被强制提供SQL。

查看源代码( https://github.com/brianc/node-postgres/blob/master/lib/client.js#L331 ), query方法返回一个Query对象。 所以你应该可以做这样的事情:

 var query = client.query('SELECT $1::int AS number', ['1'], function(err, result) { if (err) { var sql = query.text; } } 

(假设你的callback函数和query范围相同)。

免责声明:我从来没有使用postgres和节点postgres。