Nodejs - Postgres - Notify - 错误绑定消息

时间:2018-04-04 16:14:59

标签: node.js postgresql notify node-postgres

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

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

我有以下函数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
}

我无法弄清楚查询的正确语法或我收到此错误的原因。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

Rectangle

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

NOTIFY channel [ , payload ]