PostgreeSQL: ошибка вызова sha256 со значением столбца в качестве параметра
Функция sha256 создаёт хэш. Однако есть нюанс — в качестве входящего параметра она принимает тип bytea. Соответственно если вы вызовете что-то вроде:
1 |
select sha256('aa') |
То результат будет получен. Однако при попытке выполнить что-то типа:
1 2 |
select sha256(txt) from users; |
Получите ошибку вида:
1 2 3 4 5 |
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:
1 |
select sha256(txt::bytea) from users; |