PostgreeSQL: ошибка вызова sha256 со значением столбца в качестве параметра
Функция sha256 создаёт хэш. Однако есть нюанс — в качестве входящего параметра она принимает тип bytea. Соответственно если вы вызовете что-то вроде:
select sha256('aa')
То результат будет получен. Однако при попытке выполнить что-то типа:
select sha256(txt) from users;
Получите ошибку вида:
ERROR: function sha256(character varying) does not exist
LINE 1: select sha256(txt) from users;
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
SQL state: 42883
Т.е. не соответствие типов. Как быть? На лету преобразуем тип текст в тип bytea:
select sha256(txt::bytea) from users;
