我在用pg-承诺 https://github.com/vitaly-t/pg-promise与 Nodejs 一起打包以执行 PostgreSQL 查询。我想查看执行的查询。仅特定查询,例如,我想调试的一个查询。
我可以看到一种推荐的方法是使用PG-监视器 https://github.com/vitaly-t/pg-monitor捕获事件并记录它们,如示例中所述文档 https://github.com/vitaly-t/pg-promise/wiki/Learn-by-Example#simple-select.
不使用PG-监视器 https://github.com/vitaly-t/pg-monitor,有没有一种简单的方法可以打印已执行的准备好的查询。我在文档中看不到它。
Example:
db.query("SELECT * FROM table WHERE id = $/id/", {id: 2})
如何打印这个查询以产生结果?
SELECT * FROM table WHERE id = 2
有没有一种简单的方法可以打印已执行的准备好的查询...
一般性查询 - 是的,见下文。 A准备好的查询 https://www.postgresql.org/docs/9.3/static/sql-prepare.html- 不,根据定义,这些是在服务器端格式化的。
const query = pgp.as.format('SELECT * FROM table WHERE id = $/id/', {id: 2});
console.log(query);
await db.any(query);
如果您想打印模块执行的所有查询,而不使用PG-监视器 https://github.com/vitaly-t/pg-monitor,只需添加事件query http://vitaly-t.github.io/pg-promise/global.html#event:query初始化库时的处理程序:
const initOptions = {
query(e) {
console.log(e.query);
}
};
const pgp = require('pg-promise')(initOptions);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)