digest(data text, type text) returns bytea;
non è una sintassi valida.
Consiglio di usare bcrypt
invece. Non sono richieste definizioni di funzioni aggiuntive:
INSERT into "login" (login, password, employee_id)
VALUES ('email',crypt('password', gen_salt('bf'));
Più tardi...
UPDATE table SET password = crypt('password',gen_salt('bf'))
E controllando la password:
SELECT ... FROM table
WHERE password is NOT NULL
AND password = crypt('password-to-test',password);
Bcrypt è consigliato da Software artigianale e Jeff Atwood . I documenti ufficiali di pgcrypto potrebbe anche essere di interesse.