'exists' isn't a good name for function :(. From gram.y:
col_name_keyword:...
function_name:            IDENT                                   { $$ = $1; }            | unreserved_keyword
         { $$ = pstrdup($1); }            | func_name_keyword                     { $$ = pstrdup($1); }        ;
 
So call of function named 'exists' should be in quotas:
select "exists"('a=>1','a');
-- 
Teodor Sigaev                                   E-mail: teodor@sigaev.ru
  WWW: http://www.sigaev.ru/