2016-07-25 1 views
1

내가 PERFORM pg_notify('channel', 'payload'); 나는 다음과 같은 오류 얻을 실행하면 :PERFORM pg_notify ('', '')를 실행하는 방법?

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

내가 잘못하고있는 중이 야 무엇을?

SELECT 대조 물은 작동하지만, 결과가 동일하지 않습니다. 그리고 psql (9.5.3, server 9.5.0)을 사용하고 있습니다.

+0

더 많은 외부 코드를 공유 할 수 있습니까? – Nicarus

+0

외부 코드가 없습니다. 나는이 행을'psql'에서 직접 실행하고 있습니다. – Mehran

+0

''PERFORM'으로 작업하는'pg_notify()'에 대한 언급을 찾을 수 없으며 또한 작동시키지 못했습니다. – Nicarus

답변

1

여기서 문제는 PERFORM을 프롬프트에서 직접 실행할 수 없다는 사실에 달려 있습니다. documentation가 말하기를 :

Sometimes it is useful to evaluate an expression or SELECT query but discard the result, for example when calling a function that has side-effects but no useful result value. To do this in PL/pgSQL, use the PERFORM statement:

을 그것은 조금 까다로운하지만 PERFORMPL/pgSQL의 컨텍스트 (함수, 저장 프로 시저 및 물건)에서 사용할 수 있습니다. 그리고 지원되지 않는 프롬프트에서 직접 실행하려고했습니다.