nodejs -Postgres- notify-错误绑定消息



我正在使用node-postgres(v-6.1.2(

这是我重构的代码,因为查询中没有参数化参数。这是我没有写的代码!

i具有以下功能publish,其中pubClient

的结果
new pg.Client(pubsubUri).connect((err, client) => {
    if(err) return logger.error('database-connect', err.message)
    pubClient = client
})

运行publish时,我会收到以下错误:

error: bind message supplies 2 parameters, but prepared statement "" requires 0

这是我的发布方法:(类型和消息都是类型字符串(

let publish = ( type, message) => {
    if (pubClient) {
        pubClient.query('NOTIFY "$1", '$2'', [type, message], (err, res) => {
            if (err) {
                console.log(err)
              return
            }
          return true
        })
    }
    return false
}

我无法弄清楚查询的正确语法是什么,或者为什么会遇到此错误。

任何帮助将不胜感激!

NOTIFY channel [ , payload ]

无法参数化通道。尝试使用pg_notify:

let publish = (type, message) => {
    if (pubClient) {
        pubClient.query('SELECT pg_notify($1, $2)', [type, message], (err, res) => {
            if (err) {
                console.log(err)
              return
            }
          return true
        })
    }
    return false
}

相关内容

最新更新