buenos dias, estoy tratando de hacer una funcion en postgres que valide si existe un usuario dado el nombre de usuario y contraseña, cuando hago la consulta manualmente funciona, pero cuando la ingreso en la función me muestra el siguiente error:
ERROR: syntax error at or near "$1"
LINE 1: SELECT execute $1
^
QUERY: SELECT execute $1
CONTEXT: SQL statement in PL/PgSQL function "f_valida_usuario" near line 5
basicamente lo que estoy haciendo en la funcion es lo siguiente:
CREATE OR REPLACE FUNCTION f_valida_usuario(in text,in text)
RETURNS boolean as $$
DECLARE query TEXT;
result RECORD;
BEGIN
query = 'SELECT count(*) FROM pg_shadow WHERE usename = ' || quote_literal( $1 ) || ' and passwd = ' || quote_literal( $2 ) || '';
result = execute query;
IF result.count = 0 THEN
return false;
ELSE
return true;
END IF;
END;
$$ LANGUAGE 'plpgsql';
¿podrian ayudarme con mi problema?
Muchas gracias