如何执行PERFORM pg_notify('','')?

时间:2016-07-25 21:49:05

标签: postgresql notify

当我执行PERFORM pg_notify('channel', 'payload');时,我收到以下错误:

ERROR:  syntax error at or near "PERFORM"
LINE 1: PERFORM pg_notify('channel', 'payload');
        ^

我做错了什么?

SELECT对应物有效,但我正在寻找无结果等效物。我正在使用psql (9.5.3, server 9.5.0)

1 个答案:

答案 0 :(得分:3)

此处的问题依赖于PERFORM无法在提示中直接执行的事实。正如documentation所说:

  

有时评估表达式或SELECT查询很有用   丢弃结果,例如在调用具有的函数时   副作用但没有有用的结果值。要在 PL / pgSQL 中执行此操作,请使用   PERFORM声明:

这有点棘手但PERFORM只能用于 PL / pgSQL 上下文(函数,存储过程和东西)。我试图直接在不支持的提示中执行它。