Saludos
 
Estoy tratando de hacer una consulta y dependiendo de su resultado, hacer una u otra (segunda) consulta... todo dentro de una función, tal como:  
Código:
 CREATE OR REPLACE FUNCTION consultar_menu(id_usuario int) RETURNS SETOF menu_permisos AS $$
 DECLARE
   e boolean;
   r menu_permisos%rowtype;
 BEGIN
   e := $S$ SELECT * FROM cc1.usuarios WHERE id = $1$S$;
   IF e.primerizo = true THEN
     RETURN QUERY SELECT * FROM menu_permisos WHERE id_usuario = $1 AND menu.id < 10;
   ELSE
     RETURN QUERY SELECT * FROM menu_permisos WHERE id_usuario = $1;
   END IF;
 END;
$$ LANGUAGE plpgsql;
  Pero... seguro, no es así... de entrada me da error de sintaxis: 
Código:
 ERROR:  la sintaxis de entrada no es válida para tipo boolean: « SELECT * FROM cc1.usuarios WHERE id = $1»
CONTEXT:  PL/pgSQL function "consultar_menu" line 6 at assignment