So I'm trying to just hash some passwords in postgresql, and the only hashing solution that I've found for postgresql is part of the pgcrytpo package ( http://www.postgresql.org/docs/8.3/static/pgcrypto.html ) that is supposed to be in postgresql-contrib ( http://www.postgresql.org/docs/8.3/static/contrib.html ).
So I installed postgresql-contrib, (sudo apt-get install postgresql-contrib), restarted my server (as a simple way to restart postgresql).
However, I still don't have access to any of the functions for hashing that are supposed to be in postgresql-contrib, e.g.:
ninjawars=# select crypt('global salt' || 'new password' || 'user created date', gen_salt('sha256'));
ERROR: function gen_salt(unknown) does not exist
ninjawars=# select digest('test', 'sha256') from players limit 1;
ERROR: function digest(unknown, unknown) does not exist
ninjawars=# select hmac('test', 'sha256') from players limit 1;
ERROR: function hmac(unknown, unknown) does not exist
So how can I hash passwords in postgresql, on ubuntu?
This may be a hint, from one of the web pages you listed above:
After you install postgresql-contrib you need to run
CREATE EXTENSION pgcrypto;
against the db where you want to use the crypto functionsMuch easier Just install pdAdmin and from the database you are working on right click on the database and ADD NEW OBJECT select Extension then select pgcrypto for name and set the definition schema to public and version 1.0 WORKED AS A CHARM FOR ME ON MY MAC OS 10.7.5 using Postgres 9.2