Ada*_*tan 5 postgresql-9.3 hashing
按照另一个答案给出的建议,我尝试digest()
在 AWS RDS 上的 PostgreSQL 9.3 上使用该函数:
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.
Run Code Online (Sandbox Code Playgroud)
即使存在 pgcrypto:
devdb=> SHOW rds.extensions;
Run Code Online (Sandbox Code Playgroud)
btree_gin,btree_gist,chkpass,citext,cube,dblink,dict_int,dict_xsyn,earthdistance,fuzzystrmatch,hstore,intagg,intarray,isn,ltree,pgcrypto,pgrowlocks,pg_trgm,plperl,plpgsql,pltcl,posttiger,postggis_ tablefunc,tsearch2,unaccent,uuid-ossp
如何启用该digest()
功能?
我在AWS RDS论坛上有共同提问,会发帖互相更新。
digest()
数据库上似乎不存在:
devdb=> \df digest
List of functions
Schema | Name | Result data type | Argument data types | Type
--------+------+------------------+---------------------+------
(0 rows)
Run Code Online (Sandbox Code Playgroud)
Ada*_*tan 12
Shawn@AWS在 AWS 论坛上回答了这个问题-该rds.extension
列表显示了可用的模块,而不是已安装的模块。
感谢您使用 RDS Postgres。“rds.extension”参数显示了 RDS Postgres 中可用的扩展。您仍然需要执行“创建扩展”命令。
使用您的测试用例:
postgres=> show rds.extensions;
... ,pgcrypto, ...
postgres=> create extension pgcrypto;
CREATE EXTENSION
postgres=> SELECT digest('blah', 'sha1');
digest
\x5bf1fd927dfb8679496a2e6cf00cbe50c1c87145
(1 row)
Run Code Online (Sandbox Code Playgroud)
pg_available_extensions
显示哪些扩展可用,哪些已经安装:
postgres=> SELECT * FROM pg_available_extensions;
name | default_version | installed_version | comment
------------------------+-----------------+-------------------+---------------------------------------------------------------------
chkpass | 1.0 | | data type for auto-encrypted passwords
xml2 | 1.0 | | XPath querying and XSLT
plpgsql | 1.0 | 1.0 | PL/pgSQL procedural language
pgcrypto | 1.0 | | cryptographic functions
postgres_fdw | 1.0 | | foreign-data wrapper for remote PostgreSQL servers
...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18931 次 |
最近记录: |