【发布时间】:2020-12-26 08:03:10
【问题描述】:
我正在尝试将查询提取为 csv 文件。我尝试使用copy 和pg-query-stream 来执行查询,但我遇到了这个错误:
error: bind message supplies 1 parameters, but prepared statement "" requires 0
当从查询中删除 copy 时,如果我提供带有 copy 的查询并且没有占位符,它也可以与占位符一起正常工作。
const pgp = require('pg-promise')
const QueryStream = require('pg-query-stream')
query1 = "copy (select * from real_state WHERE town_code= $1 ) TO '/tmp/file.csv'"
const qs = new QueryStream(query1, [22])
await db.stream(qs, s => {
// initiate streaming into the console:
s.pipe(JSONStream.stringify()).pipe(process.stdout)
}).then(data => {
}).catch(error => {
console.log('ERROR:', error)
})
query1 = "copy (select * from real_state WHERE town_code= $1 ) TO '/tmp/file.csv'" ==> error
query2 = "copy (select * from real_state) TO '/tmp/file.csv'" ==> It works
query3 = "select * from real_state WHERE town_code= $1" ==> It works
【问题讨论】:
标签: javascript node.js postgresql pg-promise