Seguindo o conselho dado em outra resposta , tentei usar a digest()
função no PostgreSQL 9.3 no AWS RDS:
devdb=> SELECT digest('blah', 'sha1');
ERROR: function digest(unknown, unknown) does not exist
LINE 1: SELECT digest('blah', 'sha1');
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
Mesmo que o pgcrypto exista:
devdb=> SHOW rds.extensions;
btree_gin,btree_gist,chkpass,citext,cubo,dblink,dict_int,dict_xsyn,earthdistance,fuzzystrmatch,hstore,intagg,intarray,isn,ltree,pgcrypto,pgrowlocks,pg_trgm,plperl,plpgsql,pltcl,postgis,postgis_tiger_geocoder,postgis_topology,sslinfo, tablefunc,tsearch2,unaccent,uuid-ossp
Como posso habilitar a digest()
função?
Atualizações
Eu co-perguntei no fórum AWS RDS , as postagens serão atualizadas mutuamente.
digest()
não parece existir no banco de dados:
devdb=> \df digest
List of functions
Schema | Name | Result data type | Argument data types | Type
--------+------+------------------+---------------------+------
(0 rows)
A pergunta foi respondida no fórum da AWS por Shawn@AWS - A
rds.extension
lista mostra módulos disponíveis, em vez de instalados.Termo aditivo
pg_available_extensions
mostra quais extensões estão disponíveis e quais já estão instaladas:sudo apt-get install postgresql-contrib-9.1
ou dependendo da sua versão do postgres (Verifique o debian pkg ou dependendo da sua distrib)em postgres:
CREATE EXTENSION pgcrypto;