Я написал функцию Postgres, используя plpgsql, но получаю «синтаксическую ошибку, неожиданный символ», когда я вызываю ее, используя:
PERFORM create_user('a', 'b', 'c');
Вот определение функции Postgres, скопированное из pgAdmin:
CREATE OR REPLACE FUNCTION create_user(_username character varying, _passwordhash character varying, _email character varying)
RETURNS integer AS
$BODY$
BEGIN
INSERT INTO users(id, username, passwordhash, email) VALUES (DEFAULT, _username, _passwordhash, _email) RETURNING id;
END;$BODY$
LANGUAGE plpgsql VOLATILE SECURITY DEFINER
COST 100;
ALTER FUNCTION create_user(character varying, character varying, character varying)
OWNER TO postgres;
Может ли кто-нибудь определить, что я сделал неправильно здесь?
Кроме того, я пытаюсь получить к нему доступ в node.js через «pg», но мне все равно не удалось вызвать функцию без синтаксической ошибки из pgAdmin.